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:
 
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.
 
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.
 
I tried those commands in Ubuntu and this is the result - I guess this is bad.

34rcc39.png
 
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?
 
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.
 
Pass. From the thread at the Ubuntu forums it seems this device really ought to work out of the box, all that should be required is to plug it in.
 
I did dmesg | grep eth and nothing happened, there was no report or anything, it just went straight back to the next command prompt. I take it this means the kernel is not seeing any ethernet devices then.
 
I do have a PCI ethernet card which I suspect will be detected and will work without issues, but the reason I don't use it is because I need to keep the PCI slot free because of my graphics card. And my onboard ethernet is dead!

I may elect to buy another motherboard as the best solution to this problem :)
 
Oh it wouldn't be purely because of this issue. My MATX board as it is, prevents me from using anything other than a single slot graphics card, which these days severely limits the choices available because most cards are rather wide and need space around them for cooling. I really need a full sized ATX board to give me more choice. The fact that I would also get a working onboard NIC which would work with Ubuntu out of the box, would just be a nice bonus :)
 
Back
Top Bottom