K.Mandla's blog of Linux experiences

Set up new hardware, quick and easy

I picked up a USB-to-gigabit connector at the recycle shop today, again blindly picking a box without researching its relative Linux compatibility beforehand.

It’s a bad habit, I know, but lately either my luck or Linux’s technical advances have been improving, because generally speaking, I’m running into less and less hardware that doesn’t “just work.”

So as an example, here’s what I did to get a Planex GU-1000T to run neatly with Crux Linux, on an 8-year-old laptop. For most of you this will probably be easy, but if you’re new to building your own kernels or if you want an example of how to screen new hardware against Linux, it might be instructive.

First, cheat. If you have a standing Linux installation of something very generic, like Ubuntu, you can plug in the hardware and see if Ubuntu finds it. (You could also use a live CD, if you have something else installed.) In my case, I have 9.04 on my Inspiron right now, and so I just jammed the USB port into the machine, and waited for Ubuntu to recognize it.

Which it did. The power light appeared on the connector end, and the hard drive scribbled a little bit. I looked at the network manager and saw it had configured an ASIX-based USB-to-gigabit connector. I checked both dmesg and lsmod, and saw that the asix module was inserted.

(Of course, it’s worth mentioning that different hardware and different components will require different software or configuration, depending on what it is. Look under lsmod, dmesg, and lspci (and lsusb;) ). Or use hardware detection routines common to your distro, like Arch’s hwdetect.)

Next I jumped to my Crux-running Thinkpad, shifted to the root user, changed to my Linux source directory under /usr/src, then made a kernel to include the ASIX module for USB network connectors. (If you want the same one, ASIX AX88xxx USB support is under Device drivers > Network device support > USB network adapters > Multi-purpose USB networking framework in kernel 2.6.29.1.) Compiling took only about a minute and a half at 550Mhz.

Reboot, and the kernel found the connector. Ran dhcpcd and it’s online and happy, with no more effort than that. Only changes left are to adjust the startup scripts to pick that particular network interface, instead of the PCMCIA wireless card.

So to recap, if you pick new hardware and want to configure it yourself, this is my recommendation: Pick a reliable, complete distro and either boot it as a live CD, or use a standing installation. Find out what module or what software (in the case of, say, a digital camera) is needed to run it, then build it on your custom machine. Reboot and barring incident, it should work fine.

Like I said, for experienced Linux people, that’s so easy and obvious that it will probably appear stupid. On the other hand, if you want something exotic to work with your customized system, it might be helpful.

P.S.: Yes, I know that running a gigabit connector through a USB 1.1 port is rather like stapling a jet engine to the roof of a Volkswagen Bug. Humor me, will you? My Thinkpad never had it so good. :lol:

Ya, it is a little overkill, but it will max out the USB connection, and it will likely move a heck of a lot faster than the built in ethernet, or the wireless card.

Thank you for the reminder about hardware tests. I have only been poking at Linux for about two years, and I have not had to mess with too much hardware changing since I have it on a laptop. It’s a useful trick to keep in mind for the future, and one I didn’t really think of before hand.