How can I install this driver in Ubuntu?

Permabanned
Joined
18 Oct 2002
Posts
47,396
Location
Essex
Can it be done?

It is for a USB ethernet adapter.

The driver files from the manufacturer are:

(in a folder called Linux 2.4)

Makefile
readme.txt
zt6688.c
zt6688.h

The readme file says

DAVICOM Semiconductor Inc. 05/16/2003

A Davicom zt6688 USB Fast Ethernet driver for Linux.
Copyright (C) 1997 Sten Wang

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

A. Compiler command:

A-1: For normal single processor kernel
"gcc -DMODULE -D__KERNEL__ -I/usr/src/linux/include -Wall
-Wstrict-prototypes -O6 -c zt6688.c"

A-2: For single processor and set version info on all module symbol
"gcc -DMODULE -DMODVERSIONS -D__KERNEL__ -I/usr/src/linux/include
-Wall -Wstrict-prototypes -O6 -c zt6688.c"

A-3: For multiple processors(SMP) and set ver. info. on all module symbol
"gcc -D__SMP__ -DMODULE -DMODVERSIONS -D__KERNEL__ -I/usr/src/linux
/include -Wall -Wstrict-prototypes -O6 -c zt6688.c"

Note: O of -O6 is a capital "o", not a "0".


B. How to compile driver

B-1: Login by supervisor
B-2: Copy zt6688.c and Makefile into your HD. You can make a new directoty
to put.
B-3: Keep driver source file name as "zt6688.c" and makefile name as
"Makefile"
B-4: You can type the following command to compile driver. Please according
to your system to pick one.
make org ;;Without SMP support
make mod ;;Set version info on all module symbol
make smp ;;symmetric multi-processing(SMP) support
make smp_mod ;;SMP & Set version info on module

Or you can type above compiler command to compile driver.

Note: Please check you must have the right kernel source on
"/usr/src/linux".


C. The following steps teach you how to activate NIC:

C-1: A simple and temporary method

1. Used the upper compiler command to compile dm9601.c

2. Insert zt6688 module into kernel
"insmod zt6688.o" ;;Auto Detection Mode (Suggest)
"insmod zt6688.o mode=0" ;;Force 10M Half Duplex
"insmod zt6688.o mode=1" ;;Force 100M Half Duplex
"insmod zt6688.o mode=4" ;;Force 10M Full Duplex
"insmod zt6688.o mode=5" ;;Force 100M Full Duplex

NOTE: You can type "man insmod" to see more description.

3. Config a zt6688 network interface
"ifconfig eth0 172.22.3.18"
^^^^^^^^^^^ Your IP address

NOTE: 1. You can type "man ifconfig" to see more description.
2. If eth0 has been used, you should use eth1 instead.

4. Activate the IP routing table. For some distributions, it is not
necessary. You can type "route" to check.

"route add default netmask 255.255.255.0 eth0"

NOTE: 1. You can type "man route" to see more description.
2. If eth0 has been used, you should use eth1 instead.

5. Well done. Your DM9601 adapter actived now.

Note. This is a temporary method. After you reboot the system, you
will lost the setting.


C-2: For Redhat, You can use the following to Activate NIC

1. login your system used the superuser.
2. copy zt6688.o into /lib/modules/2.4.x/kernel/drivers/net/
3. add the new line with "alias eth0 dm9601" in "/etc/module.conf".
4. execute "netconfig -d eth0".
5. Fill your IP address, netmask and gateway
6. press <ok> to confirm and exit this setting
7 reboot

Note. If eth0 has been used, you should use eth1 instead.


DAVICOM Web-Site: www.davicom.com.tw


Anyone help please? :eek: :eek:
 
(in a folder called Linux 2.4)

I don't think you need to compile that module (unless you really are using a properly silly old kernel). It's in 2.6.21+

what kernel are you running? (uname -r)

EDIT: If you're using a higher kernel than mentioned above, try "modprobe dm6901" and see if it's recognised (dmesg | tail)
 
Last edited:
Linux 2.4? Meaning for the Linux 2.4 kernel? I'm not exactly sure if that would work with the latest 2.6's...

As for installing the driver, do you have any experience with Terminal?
 
I installed from the image ubuntu-9.10-desktop-i386.iso so whatever comes with that, I'm not sure :) I am in Windows at the moment as I have no net connection in Ubuntu unless I can get the USB adapter working.
 
Linux 2.4? Meaning for the Linux 2.4 kernel? I'm not exactly sure if that would work with the latest 2.6's...
Indeed which is why I mentioned it, it is the only driver the manufacturer offers.

As for installing the driver, do you have any experience with Terminal?
Yes I do, but only insofar as being able to follow instructions, I am not competent to do stuff this 'advanced' (well it is to me, maybe not to people here ;)) off my own expertise.
 
I installed from the image ubuntu-9.10-desktop-i386.iso so whatever comes with that, I'm not sure :) I am in Windows at the moment as I have no net connection in Ubuntu unless I can get the USB adapter working.

Right - defo above 2.6.21. try the command above and see what happens. Hopefully, you'll get something useful in dmesg with regards to your "new" ethernet adapter
 
EDIT: slow post :p as above ^
First problem is that those drivers are for the 2.4 kernel. All current distributions use 2.6.x and it will likely be a nightmare trying to port them im afraid :(


Judging from this post: http://cateee.net/lkddb/web-lkddb/USB_NET_DM9601.html Kernels after 2.6.31 support "#vendor: 0a46 ("Davicom Semiconductor, Inc."), product: 6688 ("ZT6688 Fast Ethernet Adapter")"

Im not familliar with the Ubuntu kernel, maybe someone else can tell you how its configured with regards to the CONFIG_USB_NET_DM9601 option. Worst case, I think you can recompile the kernel with that driver enabled.
 
So is it possible that my adapter is already recognised and working, I just need to configure it manually? (DHCP is not enabled in my router so I need to set the IP address manually)

I will go and have a look.
 
So is it possible that my adapter is already recognised and working, I just need to configure it manually? (DHCP is not enabled in my router so I need to set the IP address manually)

I will go and have a look.

It is possible, but it's also possible (as tntcoder mentioned) that the module hasn't been pre-built (I'm not ubuntu either, but am assuming as it's ubuntu, it has *everything* built in!)

Im not familliar with the Ubuntu kernel

o/t - out of interest what are you running? (most people here seem to use ubuntu)
 
o/t - out of interest what are you running? (most people here seem to use ubuntu)

Still a big fan of Arch :) Only distro ive been able to stick with and not get annoyed at, things like speed and package management make it much more appealing to me than the *buntus.

So is it possible that my adapter is already recognised and working, I just need to configure it manually? (DHCP is not enabled in my router so I need to set the IP address manually)

Defiantly worth checking things like dmesg and ifconfig output as walls suggested. Post them up here if you are unsure.
 
Last edited:
I tried those commands in Ubuntu and this is the result - I guess this is bad.

34rcc39.png
 
Still a big fan of Arch :) Only distro ive been able to stick with and not get annoyed at, things like speed and package management make it much more appealing to me than the *buntus.
That's been a while now :) pacman does rock though :)

I tried those commands in Ubuntu and this is the result - I guess this is bad.

Yeah - that kind of sucks. ever built a kernel before? You'll need to recompile your kernel with support for your card. It's not as difficult as it sounds - have a search on the ubuntu forums (or even these ones - I know I've discussed with a couple of people on how-to).
 
Yeah - that kind of sucks. ever built a kernel before?
No :p

You'll need to recompile your kernel with support for your card. It's not as difficult as it sounds - have a search on the ubuntu forums (or even these ones - I know I've discussed with a couple of people on how-to).
:eek:

It does sound a bit advanced.

So there is no other possible way of getting this to work? From tntcoder's post earlier, it seems there should already be support for this device in the kernel? :confused: Is it possible another kernel through the ubuntu software update would have support for it? (if necessary I could plug in a PCI NIC just to get online with Ubuntu to access the software update)
 
The eagle eyed among you may notice I should have written modprobe DM9601, not DM6901

I tried it again, modprobe DM9601 gave two errors about not being able to insert the module or something or other, which I put down to not having the required authority.

sudo modprobe DM9601 gave no error, it didn't give any message at all in fact - it just went back to the command prompt - what does this mean?
 
The eagle eyed among you may notice I should have written modprobe DM9601, not DM6901

I tried it again, modprobe DM9601 gave two errors about not being able to insert the module or something or other, which I put down to not having the required authority.

sudo modprobe DM9601 gave no error, it didn't give any message at all in fact - it just went back to the command prompt - what does this mean?

in my limited understanding it has not came up with errors and should work, have you tried the adapter?
 
in my limited understanding it has not came up with errors and should work, have you tried the adapter?

The adapter is present in the machine (I am using it right now to connect to the internet in Windows) - I went to the network settings applet and it said there were no network devices present. Bear in mind I'm not fully conversant with Ubuntu's network settings so it is possible I am not looking in the right place, but I would have expected upon detecting a NIC, that a network icon would appear on the menu bar at the top of the screen? And I would then be able to configure it with the correct settings.
 
Back
Top Bottom