How to get Linksys USB200M and maybe other USB NICs to work

Forums Network Management Linux and Networking How to get Linksys USB200M and maybe other USB NICs to work

  • This topic is empty.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
  • #42605

    Hi, I just thought I’d post a little howto on getting the Linksys USB200M to work, after spending far more time than I’d like at it. If it’s useful, post a comment here, and if it’s really useful, maybe Fulvio will update the kernel and Dansguardian patch in a new version (pretty please with sugar on top!!!!).

    USB NICs are especially useful when it comes to using Zeroshell on a netbook such as an Eee PC, as
    a) The inbuilt ethernet adapter in the netbook may not be supported, and
    b) You may want to use another NIC in the netbook rather than using a VLAN capable switch to have Zeroshell perform filtering duty.

    In any case, it is very tough to beat the bang/buck of a netbook for Zeroshell, and this will only improve over time. You get oodles of RAM and CPU, you get all the components you need including PSU, a screen so you can see what you are doing, even an inbuilt UPS, and it’s pretty darn power efficient too. It’s hard to go wrong with the value even if you have to buy a USB ethernet adaptor just to get it to work.

    Here is a list of other USB ethernet adapters suitable for linux:
    Another that will very likely work with Zeroshell is the D-link DUB-E100.

    The problem is that when you put the USB200M in and boot zeroshell on a USB flash or an SD card, only 1 of the 3 lights will come on and it won’t have the kernel modules loaded. Even if you load the kernel modules from the shell, after Zeroshell boots, the interface (eth0) won’t show itself when you press “N”, you can only see the VPN. Very frustrating!

    So here’s what you do (knowing how to use vi is assumed).
    1. Get into shell from your netbook, by typing S.

    2. Edit the preboot Enabled file:

    vi /Database/var/register/system/startup/scripts/preboot/Enabled

    3. Add the following line:


    4. Edit the preboot File file:

    vi /Database/var/register/system/startup/scripts/preboot/File

    5. Add the following two lines:

    modprobe usbnet
    modprobe asix

    Via Web Interface:
    If you have the use of another computer with a working NIC so that you can use the web interface from, you can of course go into Startup/Cron and edit/enable the preboot script yourself to look like the above. But the first way is probably most convenient.

    Other USB NICs

    As the Asix driver is used for loads (all?) of USB NICs, I would strongly suspect that this procedure will work for all the USB NICs that were supported by the particular ZS kernel you are trying to use.

    Credit for helpful ideas goes to these posts:


    The above appears to work for 13 beta, or at least from memory that’s what I did. In 12 beta it doesn’t work (I get something like Preboot Failed – Error 126 or something like that). In order to get it to work I had to put those lines in via the web interface, i.e. by finding a laptop with compatible NIC, booting from that, changing things from the web interface, and sticking the USB stick with Zeroshell on it back into the original Eee PC. A bit of a pain, lucky I had the other laptop to do it from.


    Note that using the Linksys USB200M you will get errors appearing in dmesg. It is also likely with the DUB-E100.* Here is the error I get:

    ETH00: asix_rx_fixup() Bad RX Length 1518

    Not sure how to fix. It doesn’t appear to affect the functioning of the network, but I would appreciate any help.

    * See

    See also


    For some reason, I seem to be getting only about 1MB/s on an SSHFS connection that is routed on the zeroshell box. When I change it so that it’s on the same subnet (e.g. just going through the switch), I get 22+MB/s. I’m not sure whether it’s
    a) the dmesg errors slowing the connection down, i.e. the driver situation isn’t 100%
    b) the Eee PC not being able to handle the workload (doubtful I think, even though USB shifts workload to the CPU)
    c) the USB NIC isn’t as fast as it is supposed to be

    However, if all you are after is a way to filter your connection to the internet, it works really well. And if you are using it to route between two subnets on your home network, provided they don’t need to transfer massive files between each other, it works well too.


    Had a bit more of a play… I realized that I am only getting 160-200KB/s when routed through the zeroshell Eee PC, using sshfs. I tried looking at top and there is next to no CPU being used, and very little memory. dmesg gives a pretty much constant stream of that earlier message “asix_rx_fixup()” etc. This happens whether I use a USB200M or a D-Link DUB-E100.

    Other than that, it’s working perfectly. URL filtering is great, no slowdown on dansguardian, it all “just works”. With a new kernel or maybe even kernel module this would be working phenomenally. And realistically, for just one subnet it works ok as is. The maximum speed I can download is 570KB/s, which is not the full bandwidth but better than 200KB/s.

Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.