Missing COM Port Device Files

After installing FreeBSD 11.1 I noticed that the device directory (/dev) only has the files for PCI COM port 1 (cuau0), and not ports 2 & 3 (cuau1 & 2). I also have a fourth brown port which is shorter than the white PCIs, and I don’t know how BSD refers to that. How do I install the files for ports 2 & 3, and how is that brown port recognized by FreeBSD? Thanks.
 
There's nothing to "install" in this case. They're either detected and available or not. So my first guess would be that they are disabled in the BIOS.

I also have a fourth brown port which is shorter than the white PCIs, and I don’t know how BSD refers to that.
I don't even know what you mean by "shorter". Maybe you should look at the mainboard manual to see what that port actually is? There are only two types of serial ports, the traditional 25 pin D-Sub (you rarely see those nowadays) and the 9 pin D-Sub.
 
May be either AGP or 8-bit ISA. You may also have disabled second and third serial ports with jumpers on board, especially if ISA is your case. It is also possible, that you have to found settings like port address and IRQ in the motherboard manual or set it using jumpers and then hint kernel about it using device.hints(5).
 
Rereading the original question I'm now beginning to think the OP is a little bit confused, PCI, PCIe, ISA, AGP, VLB (anyone remember those?) are slots for cards and have nothing to do with the "COM" (aka serial) ports.

This is a serial (or "COM") port: https://en.wikipedia.org/wiki/Serial_port#/media/File:Serial_port.jpg
This is a PCI slot: https://en.wikipedia.org/wiki/Conventional_PCI#/media/File:PCI_Slots_Digon3.JPG
These are PCIe slots: https://en.wikipedia.org/wiki/PCI_Express#/media/File:PCIExpress.jpg (only the top 4, the bottom one is PCI)
This is AGP: https://en.wikipedia.org/wiki/Accel...CNR_Sockets_in_PCChips_M925LR_Motherboard.jpg (top 'brown' slot is AGP, the two white ones are PCI)
 
Thanks for further clarifying. My computer is an IBM Pentium 4 from 2005 which I bought used, and unfortunately don’t have the Manual. I think that the brown Slot (which is about 7cm long) is AGP, and it is a bit further back from the plate to allow for a longer Circuit Board than PCI. The white Slots (about 8cm long) are definitely PCI. MS Windows XP states that my Intel Modem is on COM3. I didn’t know that the Serial and Parallel Ports are also referred to as “COM”.

I’m assuming that BSD uses the same numbers as Windows. Does BSD identify the PCIs as “cuau”, or if not how are they identified? What about the AGP Slot?
 
My computer is an IBM Pentium 4 from 2005 which I bought used, and unfortunately don’t have the Manual.
That used to be a problem but in this day and age you can almost always download any and all manuals. Even for old stuff. What is the exact type/model of the computer?
I didn’t know that the Serial and Parallel Ports are also referred to as “COM”.
The 25 pin D-Sub "COM" port is not a parallel port. That also uses a 25 pin D-Sub but has male/female reversed. A "COM" port is always a serial port.
 
..., PCI, PCIe, ISA, AGP, VLB (anyone remember those?) are slots for cards and have nothing to do with the "COM" (aka serial) ports. ...
Are you telling me that your Desktop Computers over the past decade haven't come with PCI Slots? Although you can buy Computers with Ethernet, Audio and Video Cards installed in the Motherboard, and my Computer does have the Ethernet and Audio Cards so installed, I would never buy a Computer without at least two PCI Slots, a Serial Port, Printer Port (D-Sub / Parallel or whatever it's called), Keyboard & Mouse Ports, and at least four USB Ports (I have eight). Those installed Cards could end up being Windows-only. My Audio Card isn't working with BSD. (I am personally not a fan of Keyboards & Mouses connecting to the USB. I'm also skeptical that a USB Port can be as fast as a PCI Slot.)

... The 25 pin D-Sub "COM" port is not a parallel port. That also uses a 25 pin D-Sub but has male/female reversed. A "COM" port is always a serial port.
The Port I'm referring to as Parallel is what connects to the Printer. What I think of as Serial would be the 9 Pin Port.

Can anyone answer my question: "Does BSD identify the PCIs as “cuau”, or if not how are they identified? What about the AGP Slot? " Does BSD use the IRQ Number instead of the PCI Number? How does it open the PCI in an application like 'ppp'?
 
Are you telling me that your Desktop Computers over the past decade haven't come with PCI Slots?
Yes. You got couple of the PCI Express slots and USB ports, that it is. Plus peripheral devices like a sound card or an ethernet card.
Can anyone answer my question: "Does BSD identify the PCIs as “cuau”, or if not how are they identified?
No, cuau is dialout device, probably serial modem. See sio(4) and comcontrol(8). PCI is only bus, it doesn't have any entry in the /dev tree except /dev/pci by pci(4) generic driver for pciconf(8).
Does BSD use the IRQ Number instead of the PCI Number?
Those are two diferent things. Device is identified by bus:slot:function, may be you mean this by PCI number? And either legacy IRQ or MSI (Message Signaled Interrupts) are used when the PCI device want "to talk back" to CPU. See also pci(9) kernel interface.
How does it open the PCI in an application like 'ppp'?
It does not :) OS only gives basic foundation for bus, then some driver has to hop in and "attach" to given device like modem, which knows how to initialize and use such device. In case of modems this driver than create character device in the /dev tree and acts as some kind of logical glue. You say ppp, dial this number using device /dev/whatever, so ppp will start writing ATDnumber to this special file, where the driver listens, which send commands to the PCI device over PCI bus controlled by OS, usually in forms of setting internal registers etc. and card "knows" that if there is value "number" in register R1 and some other value in R2 I have to connect to the phone line, beeps tones XY for duration YZ ms with pauses ZW ms and so on.
 
Are you telling me that your Desktop Computers over the past decade haven't come with PCI Slots?
No, that's not what I said. You appear to be totally confused by the difference between a bus and a port and keep mixing them up as if they mean the same thing. A bus is not the same thing as a port (serial or otherwise).
https://en.wikipedia.org/wiki/Bus_(computing)

I would never buy a Computer without at least two PCI Slots, a Serial Port, Printer Port (D-Sub / Parallel or whatever it's called), Keyboard & Mouse Ports, and at least four USB Ports (I have eight).
Well, good luck with that. Serial and parallel ports have almost disappeared, as do the PS/2 keyboard/mouse connectors. They've all been superseded by USB.

The Port I'm referring to as Parallel is what connects to the Printer. What I think of as Serial would be the 9 Pin Port.
Modern machines don't even have serial or parallel ports any more, it's mostly USB now. But there was a time when the serial port was also a 25 pin D-Sub, just like the parallel port. The only difference between the two was male vs. female. But I'm guessing this was before you were born. The serial port itself is getting quite rare, a 25 pin serial port is even rarer nowadays (I still have a 28K8 external modem with a 25 pin serial connector).

Presence of a 25-pin D-sub connector does not necessarily indicate an RS-232-C compliant interface. For example, on the original IBM PC, a male D-sub was an RS-232-C DTE port (with a non-standard current loop interface on reserved pins), but the female D-sub connector on the same PC model was used for the parallel "Centronics" printer port.
https://en.wikipedia.org/wiki/RS-232#Connectors

This is a diagram of a PC (slightly old design but it clearly shows how the various busses and ports are connected):
https://en.wikipedia.org/wiki/Northbridge_(computing)#/media/File:Motherboard_diagram.svg
 
Yes. You got couple of the PCI Express slots and USB ports, that it is. Plus peripheral devices like a sound card or an ethernet card. ...
A danger of not having PCI Slots is if the built-in Ethernet or Audio Cards burn out you cannot replace it, and have to junk the Computer. Look into PCI Express Cards to see if any would work with FreeBSD. I’ll bet they’re Windows-only.

Thanks for these further details about PCI Slot access. This explains why US Robotics says that their Internal Hardware Modem still requires a Driver to work with FreeBSD – which begs the question whether it makes sense to sell an Internal Hardware Modem rather than just Software Modems. The Internal Hard Modem sounds like a Soft Modem.

Do you think it would be possible for BSD to have a universal Modem Driver which would work on all Hayes Compatible Internal (Slot) Modems?

... You appear to be totally confused by the difference between a bus and a port and keep mixing them up as if they mean the same thing. A bus is not the same thing as a port (serial or otherwise).

Well, good luck with that. Serial and parallel ports have almost disappeared, as do the PS/2 keyboard/mouse connectors. They've all been superseded by USB. ...

If I’m confused o_O it’s because the nomenclature for Computers is inconsistent: such as the ‘Accelerated Graphics Port’ which is actually a Bus / Slot. I’m not to blame for these inconsistencies in terminology. ;) I do believe my LPT Printer Port is called a Parallel Port, and I do also have a standard Serial Port which will work for the US Robotics Model USR5686G External Modem – which should work with BSD. My IBM ThinkCentre Computer was originally a business machine which is why it’s fully loaded with Ports & Slots. While my current Logitech Keyboard & Mouse use USB Ports - I’m not happy about it! :mad: Those round Kb & Mouse Ports – not to mention Serial & Parallel Ports -- are much stronger than flimsy USB Ports. I would be delighted to hear one good reason for the Kb & Mouse to use USB Ports. :p
 
I would be delighted to hear one good reason for the Kb & Mouse to use USB Ports. :p
You can disconnect and reconnect them and they'll continue working. But once you disconnected a PS/2 device you'll have to reset the whole OS because it cannot reset the bus and re-use the same (or other) PS/2 device(s).

Also: USB is far more robust than PS/2 is. Just try to force insert an USB connector. You can do a lot but you won't risk to easily bend and/or crush pins and destroy your connector because of it, something which is quite common with PS/2 and "certain type of users".

Then there's redundancy. A PS/2 port can only be used for a mouse or a keyboard and that's it. 2 ports, 2 devices. USB is pretty much versatile. If you lack space in your hardware setup then you can easily provide 1 USB port which can be connected to a hub which can then be used to attach all your USB devices on (from keyboard and mouse right down to pen tablets, card readers, external HD's and other devices).

I know that the last example is more about USB than keyboard/mouse but it's still related: ever tried to use a expansion connector because your keyboard or mouse cable wasn't long enough? What you basically did was add more points of possible failure. Connector problems are the #1 cause for weird behavior in computers. USB manages to reduce those risks quite dramatically due to the nature of the system. From the simple fact that you can remove and re-insert devices but also because of the way the connectors were build.
 
A danger of not having PCI Slots is if the built-in Ethernet or Audio Cards burn out you cannot replace it, and have to junk the Computer. Look into PCI Express Cards to see if any would work with FreeBSD. I’ll bet they’re Windows-only.
I think the situation is quite opposite. Those components integrated on the motherboard are usually connected using PCIe(xpress) themselfs. So if they work under BSD, you can go and buy their replacement in form of the standalone card. And driver quality and general availability depends on many factors. You can have cheap low end devices like Realtek ethernet or generic AC97 sound chips. Here you get what you paid for - HW bugs, SW bugs, almost zero manufacturer support, but those devices are everywhere, so there would be probably at least community authored reverse engineered driver. Then you have something like middle-class and specialty devices like industrial controllers. Quality is better, but penetration lower, so if manufacturer doesn't support your OS of choice, you are usually out of luck here. And finally, you can get some hi-end devices. Being it sound device, it may be a problem, because of low penetration of BSD, maybe even Linux between sound professionals and thus nill support from the manufacturer. However if we are talking about network adapters, it is absolutely different situation - be it Chelsio, Mellanox, Intel, all of them directly support FreeBSD. Some better, some worse, but there are dedicated FreeBSD developers in all those companies, some of them even have commit bit directly to the FreeBSD source code. And why? Because they have market here. For example Netflix serve about 40 % of the internet traffic and not from Windows boxes.
Thanks for these further details about PCI Slot access. This explains why US Robotics says that their Internal Hardware Modem still requires a Driver to work with FreeBSD – which begs the question whether it makes sense to sell an Internal Hardware Modem rather than just Software Modems. The Internal Hard Modem sounds like a Soft Modem.
Do you think it would be possible for BSD to have a universal Modem Driver which would work on all Hayes Compatible Internal (Slot) Modems?
Generally, yes. Would anyone invest in it? Probably no. What is problem here - using serial line for modem, you have defined both HW (RX, TX, speeds, meanings of signals, timing) and SW (AT commands) interface. If you remove this, you have to redefine both of them. You can either make something what would mimics the old external behavior (and at least some of the not-soft modems did that) or use/define new standard or define your own.

First solution - create card, which appears to the OS like some generic serial device and use AT commands. Some cards did that and there is a chance that generic OS driver for serial port would suffice.

Second solution - use or define and agree with others on some standard. This may looks like something unusual in the computer industry, but there are many examples - USB keyboard, mouse, flash drive, none of them need special driver, because of the standard. Before 2D/3D acceleration in the graphics you didn't need driver, because all cards supported VGA/VESA etc.

And third - you got signaling from and to the device using standards, PCIe here and you have to provide software to actually use your device, the driver.
 
Do you think it would be possible for BSD to have a universal Modem Driver which would work on all Hayes Compatible Internal (Slot) Modems?
No, because those softmodems are anything but standardized. A proper hardware (internal) modem is detected as an extra (standard) serial port and doesn't require additional drivers to function. External modems are connected to the serial port and thus don't require a driver.
 
No, because those softmodems are anything but standardized. A proper hardware (internal) modem is detected as an extra (standard) serial port and doesn't require additional drivers to function. External modems are connected to the serial port and thus don't require a driver.
The US Robotics Model USR5610C is an Internal Hardware Modem (Link below), but a USR technician told me that it won’t work with FreeBSD because it needs a Driver. He recommends their Model USR5686G Serial Port External Modem instead.
http://www.usr.com/products/56k-dialup-modem/usr5610c/

I think the reason a Hardware PCI Modem needs a Driver is to manage the Bus Clock and Interrupt Lines. The PCI Express Slot appears to be serial which avoids this problem. However, I have to imagine that PCI Express is slower than conventional PCI – which is a good reason for Computers to have a couple conventional PCI Slots.

Regarding how BSD handles PCI Slots, does it possibly already produce a generic Driver? In my Device Directory (/dev) I have the following Files: ugen0.1, ugen0.2, ugen1.1, ugen2.1, ugen3.1, ugen3.2, & ugen4.1. My Computer has built-in Ethernet and Audio Cards, and three PCI Slots plus the AGP Slot. Perhaps 0.1 & 0.2 are for the Ethernet (Input & Output); 1 to 3 are for the PCI Slots; and 4 is for the AGP Slot or Audio Card. My Intel Modem is on PCI 3 which would explain the two Files for 3. What do you think?

You can disconnect and reconnect them and they'll continue working. But once you disconnected a PS/2 device you'll have to reset the whole OS because it cannot reset the bus and re-use the same (or other) PS/2 device(s).
I am being tongue-in-cheek :p with these attacks on the USB Port so don’t take anything personally. ;)
I have only changed my Keyboard & Mouse with the Computer off, and I have never had any problems with the Microsoft OS recognizing it after rebooting.

Also: USB is far more robust than PS/2 is. Just try to force insert an USB connector. You can do a lot but you won't risk to easily bend and/or crush pins and destroy your connector because of it, something which is quite common with PS/2 and "certain type of users".
I vehemently disagree that USB connectors are stronger than the Kb / Mouse connectors. Any “certain type of users” :eek: who could manage to damage those Kb /Mo connectors -- which can only fit one way -- will be able to damage a USB.

Then there's redundancy. A PS/2 port can only be used for a mouse or a keyboard and that's it. 2 ports, 2 devices. USB is pretty much versatile. If you lack space in your hardware setup then you can easily provide 1 USB port which can be connected to a hub which can then be used to attach all your USB devices on (from keyboard and mouse right down to pen tablets, card readers, external HD's and other devices).
... ever tried to use a expansion connector because your keyboard or mouse cable wasn't long enough? ...
The fact that every Computer needs a Keyboard & Mouse is why the dedicated Kb & Mouse Ports make sense. I have now lost two of my USB Ports to my Kb & Mo. All of my Keyboards & Mouses over the past twenty-five years have come with long cords.

Also, the USB Connector appears to only use 5 Wires – 4 LESS than a Serial Connector which means USB is SLOWER! :rolleyes:
 
Does anyone know whom I should contact to find out what are the Device acronyms BSD uses in the Device Directory (/dev)? In particular, the 'ugen' acronym.
 
Try looking at their respective man pages, like ugen(4). Note that section 4 of the man pages typically contains manuals for (kernel) drivers and devices.
 
Back
Top