USB-Ethernet device for Linux

Useful device when you work with an embedded development board

For our Embedded Linux training sessions, I was looking for a USB to Ethernet device. Since Linux supported devices are often difficult to find, I’m glad to share my investigations here.

When you use an embedded development board, you must connect it to your computer with an Ethernet cable, for example to transfer a new kernel image to U-boot through tftp, or to make your board boot on a directory on your workstation, exported with NFS.

You could connect both the board and computer to your local network, which would still allow your computer to connect to the Internet while you work with the board. However, you may create conflicts on your local network if you don’t use DHCP to assign an IP address to your board (if your DHCP server even accepts this new device on the network). In a training environment, you are also likely to run out of Ethernet outlets in the training room if you have to connect 8 such boards. Hence, a direct connection between the board and your workstation’s Ethernet port is often the most convenient solution.

If you can’t use WIFI to keep your computer connected to the outside world, a good solution is to add an extra Ethernet port to your computer by using an USB-to-Ethernet device.

My colleague Thomas and I started looking for such devices that would be supported by Linux. Here are a few that we found:

  • D-Link DUB-E100. Supported by the USB_NET_AX8817X driver. However, this product is bulky and quite heavy (at least 100 grams).
  • TRENDnet TU2-E100. Supported by the same driver, but still bulk (August 2015 update: now replaced by a more recent version, now almost as small as the Apple one, and supported out of the box in Linux. See the comment about this device.)
  • Linksys USB 200m. Supported by the same Linux driver and has a much more acceptable size, but customer reviews complain that its connector can break easily.
  • Apple USB Ethernet Adapter. This should be working out of the box in Linux. At least the MB442Z/A or MC704ZM/A references did, but Apple now sells a new reference that might have a different chipset. It is beautiful, small and light. Support for this device (at least the references I mentioned) was added to Linux 2.6.26 through the same driver. You should be able to use it in recent distros.

Apple USB to EthernetSo, I recommend the Apple device. I event posted a comment on the Apple Store, titled “Perfect for Linux”! I hope the Apple droids won’t censor it. Don’t hesitate to buy it, so that we can confirm that the latest reference is supported too.

I can’t tell whether this could happen with Apple. This was the first Apple device I ever bought…

Many new training materials

12 pages with new training materials!

We are happy to release many new training materials that we created along the course of 2008, for our embedded Linux and kernel training sessions:

Many thanks to customers who asked us to cover new topics!

This is actually the tip of the iceberg (with penguins standing on top of it, of course). The documents that have been around for a long time have also undergone significant improvements and have been updated every time new versions with interesting features were released. We are doing our best to keep our training sessions up to date, and this keeps us pretty busy! So, if you haven’t had a look at these documents for a while, you will probably learn new things if you open them again.

Why so many documents at once? Well, we usually try to release the new documents that we create as early as possible. Here are a few excuses for doing this late this time:

  • We’ve had a very busy year (new training sessions, development and service work), preventing us from polishing our new documents and creating new pages describing them.
  • The switch to our new website took more time than expected. We were reluctant to add more pages that would have caused more migration work, and we were also busy deploying the KVM virtualization technology on our new server.
  • We are also switching the documents to a new template, which leaves more space for real content and less space for logos and for information repeated on every page. This work is far from being over yet!
  • We couldn’t release them for National Security reasons Winking smiley.

Now that there’s no infrastructure work left, and that we have run out of excuses (except the one about being busy, we still are), we should be able to release our new documents much earlier.

So, stay tuned on our RSS feed, more will come soon!

Linux USB drivers

Learning how to write USB device drivers for Linux

Bootlin is proud to release a new set of training slides from its embedded Linux training materials. These new ones cover writing USB device drivers for Linux.

Like everything we create, these new materials are released to the user and developer community under a free license. They can be freely downloaded, copied, distributed or even modified according to the terms of the Creative Commons Attribution-ShareAlike 2.5 license.

Free embedded Linux training: one year after

A summary of the improvements brought in 1 year to our free embedded linux training materials.

Since our first public release in October 2004, we made significant improvements to our free embedded Linux training materials:

  • The total number of slides increased from approximately 500 to more than 1000. Here are all available training materials and presentations.
  • New training materials: audio in embedded Linux systems, multimedia in embedded Linux systems.
  • New presentations: embedded Linux From Scratch… in 40 minutes, Linux on TI OMAP processors, free software development tools.
  • Added many sections, updates and improvements to our main document: embedded Linux kernel and driver development. If you haven’t checked it for 1 year, you will hardly recognize it!
  • Some of training labs now use the SkyEye emulator, which supports several arm boards. People can now practise with cross-compiling and booting the Linux kernel without having to purchase expensive development boards.
  • KernelKit, a live GNU/Linux distribution derived from Knoppix, was created for embedded systems and kernel developers. In particular, it includes uClibc cross-compiling toolchains for several platforms: arm, armeb, i386, m68k, mips, mipsel, ppc and sh4. KernelKit is used in our training labs.
  • The PDF versions of the documents now include internal and external hyperlinks, thanks to using OpenOffice.org 2.0. To navigate within the documents or to go to an external site, just click on the links in your favorite PDF reader.
  • Some utilities were created and shared with the community: clink (to compact cross-compiling toolchains), and cOOol (to report broken hyperlinks in OpenOffice.org documents).
  • The training materials were used for 12 training sessions delivered to embedded system companies and key silicon vendors.
  • The documents are now released under the terms of the Creative Commons Attribution – ShareAlike 2.0 license, instead of the GNU Free Documentation License.
  • Some of the documents have been translated to French, German or Italian by several contributors.

Your corrections, suggestions, contributions and translations are welcome!

Free embedded Linux training materials

Bootlin embedded Linux training materials freely available

This was our first, initial annoucement in 2004. Since then, we have made huge improvements to our embedded Linux and Linux kernel and device driver development training courses. See all our training materials.

The 500 page materials of Bootlin’sembedded Linux training have just been published.

They are all released under the terms of the “GNU Free Documentation License (with no invariant sections).

Full training materials

Presentations