computerthoughts

Did you ever take that test yourself?

Adding a new FTDI USB device to gentoo that it does not know about

October 22, 2025 — number9

I like model trains, although I have very few, and no real railroad layout (just break out an oval at Christmas and put it under the tree and stare at a diesel loco and three cars). After much reading, a JMRI controller seemed the best option, and an SPROG IIv3 was purchased. On my PC I use gentoo, and for some reason, the built in ftdi driver has the SPROG, but not the SPROG II (btw, that took a lot longer to figure out than just typing it out there. As in, lsub looked ok, kernel saw the device, but was not creating /dev/ttyUSB0, etc). At any rate, the fix is the following:

lsusb (or use lsub -v or dmesg after unplug/plug) and get the vendorID and productID.

vim /usr/src/linux/drivers/usb/serial/ftdi_sio_ids.h

search for SPROG, it should say:

#define FTDI_SPROG_II           0xF0C8

But you want to insert this under that line:

#define FTDI_SPROG_IIv4_PID       0xF91C

Where 0xF91C is your Product ID

After that, we need to edit this file:

vim /usr/src/linux/drivers/usb/serial/ftdi_sio.c

Again, search for SPROG, you should see:

{ USB_DEVICE(FTDI_VID, FTDI_SPROG_II) },

Under that line, insert:

{ USB_DEVICE(FTDI_VID, FTDI_SPROG_IIv4_PID) }

Now you should just have to do (depends on your exact install or if you use genkernel, but if you are old school like me you do it the real-man way):

cd /usr/src/linux

make && make modules_install

make install

reboot

Now when you reboot there is one last item, we need to tell ftdi driver that it is there: Let us pretend your venderID is 01a1 and your productid is 02b2:

echo 01a1 02b2 >> /sys/bus/usb-serial/drivers/ftdi_sio/new_id

Now when you unplug / insert your device, dmesg and or tail /var/log/messages should see it and create /dev/ttyUSB0.

Tags: gentoo, linux, USB, railroad, hotrains

E-ATX standard? (subtitle, break out the drill and 6-32 tap)

December 02, 2022 — number9

It has been quite a while since I had to purchase and build a server computer from scratch. As it turns out, we had a need at work for a server motherboard in a desktop case. No big deal, I have literally built 1000s of computers in my lifetime....

Lets get some parts

The mobo decision was driven by needs and was easy enough. Past experience with Supermicro has been very positive, and a dual socket xeon board that had enough slots was within budget.. Pulled the trigger on a X11DPi-n, and got a few 20 core Xeon SP processors. Power supply was a Thermaltake 1500W, and storage was some Samsung Nvme drives. The case... well, orderd a Lian Li. Out of stock. Ordered another Lian Li, out of stock. Finally found an in stock Lian Li. Got it. (the reason behind the Lian Li was prior experience and support for EATX and large PCI-E cards).

The case and lets put it together

So far so good... it mostly all comes in, well, missing the CPU but hey, we can build it and wait. The cases are (at first glance) amazing. The ones I purchased are the O11 Dynamic EVO and they are bad-ass. I do not have many quams with this case, and full disclosure I own two Lian Li all aluminum tower cases from the late 90s that I just adore. The case is well thought out, does involve a bit of decision making about where to put drives or the PS (not that it is a bad thing, it is a good thing it is just that the user has a lot of options). However, after installing the PS I moved onto the mobo and...

The mother-f mounting holes do not line up. To be specific, two of them at the expansion slots do, and nothing else does. No pre-drilled holes in the mounting plate, mounting plate is not long enough for an E-ATX, nothing. WTF. Read the manual, nothing. Go back to the site, yes, Lian Li says E-ATX. Huh. STFW, yup, a lot of sites note that there is no real E-ATX standard, and companies can put mounting holes anywhere they want, basically... caveat emptor. Note, I do not think this is Lian Lis fault, this is a case of SuperMicro can call anything E-ATX as long as it is so wide and so long. Ah well, the case is great... time to break out the No. 36 drill bit and tap that back plate to 6-32.