Adventures in device driver hacking

Jan 21, 2011 10:57

So, for a little project I'm cooking up I needed a couple of USB Ethernet interfaces. There's no shortage of ebay sellers of these so I grabbed a couple from the first UK seller I found, with them arriving promptly the next day ( Read more... )

Leave a comment

Comments 26

tagno25 July 8 2011, 20:43:48 UTC
That let me compile the driver and load the interface, but the MAC address is incorrect (and I can only use one).

00:e0:4c:53:44:58
The mac address that is showing up is 00:e0:4c:53:44:58, but it should be 00:07:08:0f:1A:1E according to Windows XP

Reply


QF9700 anonymous August 8 2011, 07:56:09 UTC
Hi,
from header file qf9700.h it looks like this chip is clone of Davicom DM9601, possible you can use Davicom driver?

Reply

anonymous July 29 2013, 22:44:02 UTC
My distro delares that the QF9600 is an alias of DM9601 and installs the DM9601 module. It tells me that the link is connected at 100Mbps, Full duplex and everything looks fantastic!

But as it turns out, the DM9601 driver, when used with this device, will only connect at 10Mbps, half duplex and always reports 100Mbps, Full duplex regardless of the actual negotiated link speed.

Reply


qf9700.ko on kernel 2.6.33.7-server-2mnb Mandriva 2010.2 anonymous August 11 2011, 17:42:20 UTC
Thanks for your job.
your patch works parfectly on a Mandriva 2010.2 32b :

usb 1-5.2: new full speed USB device using ehci_hcd and address 3
usb 1-5.2: New USB device found, idVendor=0fe6, idProduct=9700
usb 1-5.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
usb 1-5.2: Product: USB 2.0 10/100M Ethernet Adaptor
eth0: register 'qf9700' at usb-0000:00:1d.7-5.2, QF9700 USB Ethernet, 00:e0:4c:zz:yy:xx
usbcore: registered new interface driver qf9700
udev: renamed network interface eth0 to eth3
eth3: link up, 100Mbps, full-duplex, lpa 0xFFFF

Best Regards

Reply

Re: qf9700.ko on kernel 2.6.33.7-server-2mnb Mandriva 2010.2 ext_950139 December 25 2011, 06:45:32 UTC
Thanks very much for posting this patch. It allowed me to fix the driver for use on Debian Squeeze.

Reply


anonymous March 17 2012, 02:23:46 UTC
Thank you very much
my device :ID 0fe6:9700 Kontron
and my kerenl is 2.6.33.20
at first I compile dm9601 but it doesn't work
finally i found your blog
and use your qf9700-2.6.32
my USB Ethernet interface now works well

Reply


tobestool April 1 2012, 20:59:59 UTC
Thanks for posting that, it's been a big help.

For anyone else who's trying to compile it on / for an Arm processor (I'm experimenting with running a Pogoplug as a router), I found that it was necessary to replace all occourances of udelay() with ndelay() in qf9700.c

I will confess I do not understand the difference This has mostly been from experimenting with Google-translated forums in Chinese. I therefore take no responsibility if it causes a massive traffic storm on your network, but I seem to have a working eth1 interface now. I will update if I find more out.

Thanks again!

Reply


Leave a comment

Up