Davicom DM9601 on Ubuntu

I’m still trying to get the Davicom DM9601 Ethernet adapter working on the beagleboard and not having much success.

I’m trying to get a USB Ethernet adapter working on the beagleboard.

I purchased one of the cheapest ones I could find :stuck_out_tongue:

http://www.dealextreme.com/details.dx/sku.2797

It’s based on the Davicom 9601 chipset.

I read in the comments that there is a Linux driver available, but didn’t

really think things through - of course they were talking about Linux on

x86.

It’s already enabled/working in the 2.6.29-oer* series…
[ 23.452148] eth0: register ‘dm9601’ at usb-musb_hdrc-1.2, Davicom
DM9601 USB Ethernet, 00:10:13:50:a3:43

Plug it in and do a “sudo ifconfig -a”, it’s just really quiet and
never shows up in the dmesg…

BTW, that adapter gets pretty hot, careful where you place it…

When I plug the adapter, instead of the eth0: register ‘dm9601’… message in dmesg, I get the following instead:
[ 120.190673] hub 1-0:1.0: unable to enumerate USB device on port 2

Interestingly enough, once I’ve plugged this device in, the USB port seems to not recognise any further devices. I’ve tried with one other USB device (a DTT tuner I had lying around) and that generates a message in dmesg every time it’s plugged, once I plug this USB adapter in however I don’t get anything more from the USB port.

I’ve got the beagleboard plugged into my Mac via the USB OTG port, and that’s how it’s getting it’s power. I’m plugging the Ethernet adapter into the other USB port (next to the SD card slot). Could it be power related? The DTT Stick says that it requires 500mA, whereas the Ethernet adapter only claims to need 120mA.

I’ve plugged the adapter into my Mac and verified the USB vendor and device IDs:

USB Network Controller:

Product ID: 0x8101
Vendor ID: 0x0fe6
Version: 1.01
Serial Number:
Speed: Up to 12 Mb/sec
Location ID: 0x1d100000
Current Available (mA): 500
Current Required (mA): 120

can’t install linux-headers-uname -r as it can’t find package find package

linux-headers-2.6.29-oer44.1

It doesn’t exist in ubuntu’s repo, I’ve only recently began my attempt
to get it submitted upstream for 10.04…

(and when i was generating the linux-header package, it was broken for armel)

Use the latest stable:

wget http://rcn-ee.net/deb/kernel/beagle/jaunty/v2.6.29-x45.2/install-me.sh
. install-me.sh

This gives me /lib/modules/2.6.29-x45.2, which doesn’t contain a build subdirectory. The make script is looking for /lib/modules/2.6.28-oer44.1/build

make -C /lib/modules/2.6.29-oer44.1/build M=/home/ubuntu/dm9601 LDDINCDIR=/homes
make: *** /lib/modules/2.6.29-oer44.1/build: No such file or directory. Stop.
make: *** [default] Error 2

After rebooting with the new kernel, I get a similar error:

make -C /lib/modules/2.6.29-x45.2/build M=/home/ubuntu/dm9601 LDDINCDIR=/home/us
make: *** /lib/modules/2.6.29-x45.2/build: No such file or directory. Stop.
make: *** [default] Error 2

Hello,

When I plug the adapter, instead of the eth0: register 'dm9601'... message
in dmesg, I get the following instead:
[ 120.190673] hub 1-0:1.0: unable to enumerate USB device on port 2
Interestingly enough, once I've plugged this device in, the USB port seems
to not recognise any further devices. I've tried with one other USB device
(a DTT tuner I had lying around) and that generates a message in dmesg every
time it's plugged, once I plug this USB adapter in however I don't get
anything more from the USB port.
I've got the beagleboard plugged into my Mac via the USB OTG port, and
that's how it's getting it's power. I'm plugging the Ethernet adapter into
the other USB port (next to the SD card slot). Could it be power related?

Are you using a USB 2.0 hub on the ehci with the 9601 plugged in, the
9601 is usb 1.1, so it would never be detected on correctly?

http://cateee.net/lkddb/web-lkddb/USB_NET_DM9601.html

This gives me /lib/modules/2.6.29-x45.2, which doesn't contain a build
subdirectory. The make script is looking for
/lib/modules/2.6.28-oer44.1/build
make -C /lib/modules/2.6.29-oer44.1/build M=/home/ubuntu/dm9601
LDDINCDIR=/homes
make: *** /lib/modules/2.6.29-oer44.1/build: No such file or directory.
Stop.
make: *** [default] Error 2

After rebooting with the new kernel, I get a similar error:
make -C /lib/modules/2.6.29-x45.2/build M=/home/ubuntu/dm9601
LDDINCDIR=/home/us
make: *** /lib/modules/2.6.29-x45.2/build: No such file or directory. Stop.

Correct... Sorry I wasn't more clearer, the source/headers isn't
provided in the linux-image*.deb

Use: https://code.launchpad.net/~beagleboard-kernel/+junk/2.6-stable

edit build_deb.sh,

On line 82, add: "kernel_source kernel_headers" after "kernel_image"

Tweak CC: location

then run, build_deb.sh

However the last time anyone tried using kernel_headers from that
script on this email group we discovered they were all pulled from
arch/x86, so i stopped building with that option...

Regards,

Robert,

Thank you again for your expertise on the issues at hand. I didn't realise that the beagleboard only did USB2.0 - Now that you mention it, I do remember reading it somewhere but it didn't stick.

Cheers,
Kai

As I understand USB2.0 is backwards compatible, in fact I’m using a USB2.0 hub with no problems in the beagleboard, anyhow maybe you need to power that usb hub.

Hi Marc,

Yes, USB2.0 is backwards compatible, but this is normally done by
integrating two controllers in silicon on the port (ehci for 2.0 and
an ohci/uhci for usb 1.1)..

However the ehci port on the beagleboard is ehci only.

http://elinux.org/BeagleBoard#EHCI

Thus any USB 1.1 device has to go thru a USB 2.0 hub..

Regards,