Adi Usb Linux

Adi Usb Linux

ADI Eagle USB LINUX

ADSL Eagle USB Linux Software Driver Rel01 Release Notes:

(Internal software driver version: b02)

(Eagle POTS firmware version: 40e2be18)

This version of driver supports RFC1483 and has been tested under RedHat 7.2 with kernel 2.4.7-10.

The package that you have contains the driver source codes and some script files for compiling and installing the driver modules, getting IP address using DHCP and IP pool and also showing modem status. The existing USB driver installs as an Ethernet driver and interface name will be called “ethx”, x is a number like “eth1”.

NOTE1: The USB driver should work fine with 2.4.x and 2.5.x kernel with USB and hot plug and play support. And also should work fine with other distribution of RedHat.

NOTE2: This driver supports both BULK and ISO channels. The default is to use ISO channels and if you want to use BULK channels you need to recompile and reinstall the driver.

Requirements

-Intel based PC

-RedHat 7.2, this version of RedHat comes with 2.4.7-10 kernel.

-ADI USB package.

-Eagle USB modem.

Installation

-Mount the floppy diskette.

-Run “./install KernelSrcDirectory” script file like “./install linux-2.4.7-10”.

KernelSrcDirectory is directory for kernel sources which you could find it in “/usr/src” directory. For RedHat 7.2 this directory is “linux-2.4.7-10” by default.

This script creates a directory called “ADI_USB” under “/usr” and copy the source codes over there and then compile and installs the driver modules. At the end it copies needed script files in that directory.

As mentioned above the driver supports ISO channels by default and if you want to use BULK channels you need to recompile and reinstall driver module. To do that you need to modify “Makefile” in “/usr/ADI_USB” directory and uncomment line 52. And then run “make” and after it finishes run “make install” and it is done.

Usage

As soon as you install the package on your system, you can connect Eagle USB modem and driver module will be installed automatically. At this point modem starts training and after it gets sync the first LED from left starts blinking. At this stage driver creates an Ethernet interface called “ethx” as mentioned above, but this interface is not up yet. To make sure that the interface is there, you can run the following command:

ifconfig –a

And it shows a list of all interfaces on your system and you can simply find interface for “Eagle USB” by looking at Mac addresses. The Mac address for Eagle ADI USB is “00:04:57:00:3E:9B”.

You have two methods to bring up this interface, using DHCP or static IP address.

Using DHCP

First you need to make sure that your server supports this feature, if it does then

run the following script:

./godhcp interface name

like “./godhcp eth1”. After it finishes, you can run the following command

to make sure that the interface is up and it has an IP address assigned.

ifconfig

Using static IP address

If you want to use a static IP address then you need to run the following

script:

./gostatic InterfaceName IPAddress Netmask

like “./gostatic eth1 192.168.50.245 255.255.255.0”. Run the following

command to make sure that the interface is up and it has the IP address

assigned:

ifconfig

You can starts sending and receiving data as soon as you have the interface up with IP address assigned. A simple test could be “ping IPAddress” like “ping 192,168,30,3”.

NOTE1: You need to run one of the above scripts whenever you unplug USB cable and plug it back.

NOTE2: If you want to bring down the interface and bring it up again, you just need to run “./stopip InterfaceName” like “./stopip eth1”. This brings down created interface, and then you can use one of above script files to bring up created interface again.

NOTE3: This is not needed, but if you want to remove driver module you need to unplug USB cable and then run the following command:

rmmod adiusbadsl

The driver will be installed automatically when you plug USB cable back.

Modem status

There are number of statistic information from modem that you can see them using the following script file.

./showstat

This script shows the information in “adimodem” in “/proc” directory.

Configuration parameters

There are number of parameters that you can send to driver when you plug the USB cable. These parameters are in a file called “adiusbadsl.conf”. This file is in “/etc/analog” directory and you can modify the file using any editor like “vi”. And also in that directoy you see number of files called “rtbldx.bnm” and “x” is a number like “rtbld0.bnm”. These are modem image files and you can replace them with new ones if it is needed.

NOTE: These files are critical for booting the modem and becareful not to modify or remove these files and always make a backup if you want to replace them with new ones.

Known issues

There are number of known issues that will be fixed in next releases of driver and they are:

  1. If you have an Ethernet card on your system and boot the PC with USB cable plugged in then Linux does not probe your Ethernet card and it probes ADI USB modem instead of that. If you run “ifconfig” you notice that there is an interface called “eth0” and that is normally your Ethernet card if you have any, and also it is up and has an IP address assigned but that IP address is the IP that has been assigned to your Ethernet card. The only way that you could find out that this interface is for “ADI USB” is the Mac address, which is the same as Mac address of “ADI USB”. This bug is because of Linux and they have fixed that in the newer version of kernels.
  2. Modem some times does not re-sync (if you take out the phone cable and put it back) and in this case you need to unplug the USB cable and remove driver module as mentioned above (rmmod adiusbadsl) and plug the USB cable back. This happens especially when you are transmitting and receiving data.

Future enhancements

The following are the features that will be integrated in to the driver in next releases:

1-Fixing above items.

2-Integrating an interface between driver and user interface to be able to send and query CMVs.

3-Improving the statistic information in “adimodem” which is in “/proc” directory.

Performance

The performance using ISO channels is 90 percent of line rate.