Penguin
Note: You are viewing an old revision of this page. View the current version.

Turbocomm IA310 HOWTO (Work In Progress)


Hardware Requirements:

  • Turbocomm IA310 Internal ADSL Modem
  • Spare PCI slot

Software Requirements:

  • Kernel 2.4.2 or 2.4.16+
  • PPP-2.4.x compiled with PPPoA support

Optional Software:

  • linux atm packages (atm-tools deb in Debian) - I do not know if this is necessary or not - need to double check.

The driver for the IA310 is not in the kernel source, and is not distributed as source code. The best place I found for drivers is http://www.nzdsl.co.nz/software/other/Default.htm.

My Setup:

  • Debian 3.0 (Woody/Stable)
  • Linux Kernel 2.4.19
  • ppp 2.4.0b1

Kernel Requirements:

Code Maturity Level Options

  • Prompt for development and/or incomplete code/drivers [Y?

Networking Options

  • Packet Socket [Y?
  • Packet Socket: mmapped IO [Y?
  • Asynchronous Transfer Mode (ATM) (EXPERIMENTAL) [Y?
  • RFC 1483/2684 Bridged protocols [Y?

Network Device Support

  • PPP (Point-to-Point Protocol) Support [Y?
  • PPP Deflate Compression [Y?
  • PPP Over Ethernet (EXPERIMENTAL) [Y?
  • PPP Over ATM (EXPERIMENTAL) [Y?

Once You have restarted with the new kernel, it's time to install the binary module. The tarball I downloaded was Kernel-2.4.16.tar.gz. It has a few files, however the only ones you need are:

Kernel-2.4.16/2684-PPPoA-PPPoE/2684-PPPoA-PPPoE-User-Guide.pdf
Kernel-2.4.16/2684-PPPoA-PPPoE/itex1577-2.4.16.o

I decided the best place to put the driver was in /lib/modules/2.4.19/kernel/net/drivers. As the module is not compiled for the correct kernel version, you have to force the module to be loaded.

insmod -f itex1577-2.4.16

You should see the following in your messages logfile:

Jan 27 16:23:28 dbx-akl-1 kernel: itexadsl: version= 2.2.7.ITEXPC86.0005 , built date= Thu Feb 7 11:16:17 PST 2002
Jan 27 16:23:28 dbx-akl-1 kernel: itexadsl: card# 0, ix=0x0, bus=0x0, fn=0x78, ven=0x1471, dev=0x188
Jan 27 16:23:28 dbx-akl-1 kernel: itexadsl: total 1 card(s) found.
Jan 27 16:23:28 dbx-akl-1 kernel: itexadsl: irq=0xc, ioaddr=0xe000, membase=0xd9000000
Jan 27 16:23:28 dbx-akl-1 kernel: itexadsl: card #0 - MAC: 00:30:eb:c0:8b:d7 from eeprom.
Jan 27 16:23:28 dbx-akl-1 kernel: itexadsl: ITeX i90234 chip.
Jan 27 16:23:28 dbx-akl-1 kernel: init_module: cardcnt = 1
Jan 27 16:23:28 dbx-akl-1 kernel: Into the GenCRC10Table
Jan 27 16:23:28 dbx-akl-1 kernel: Finished the GenCRC10Table
Jan 27 16:23:30 dbx-akl-1 kernel: itexadsl: modem line disconnected.
Jan 27 16:23:34 dbx-akl-1 kernel: card #0 - current modem state : INITIALIZING.
Jan 27 16:23:42 dbx-akl-1 kernel: itexadsl: modem line connected. (card_no: 0)
Jan 27 16:23:42 dbx-akl-1 kernel: itexadsl: upstream latency - interleaved
Jan 27 16:23:42 dbx-akl-1 kernel: itexadsl: downstream latency - interleaved
Jan 27 16:23:42 dbx-akl-1 kernel: itexadsl: card #0 - data rate: 800 / 5344 (line rate: 960 / 6296) kbps
Jan 27 16:23:42 dbx-akl-1 kernel: connect_bh:tx cell per msec 2
Jan 27 16:23:42 dbx-akl-1 kernel: connect_bh: upstream rate 800
Jan 27 16:23:42 dbx-akl-1 kernel: card #0 - current modem state : SHOWTIME_L0.

At this point, the driver has loaded and is waiting for pppd to be started.

I attempted to find ppp-2.4.1 with PPPoA support, but this proved to be an impossibility. I found a patch to ppp-2.4.0 and attempted to port it to ppp-2.4.1, but failed. The version of ppp I ended up using was ppp-2.4.0b1.

The last thing that needed to be done was setup the relevant ppp files.

/etc/ppp/options

# Standard Options

lock
crtscts
hide-password
modem
lcp-echo-interval 60
lcp-echo-failure 4
noipx
noauth
defaultroute

  1. usepeerdns

proxyarp
asyncmap 0

# If connection dies, reconnect

persist
name yourusername@yourisp
user yourusername@yourisp

# Required for PPPoA Support

plugin /usr/lib/pppd/plugins/pppoatm.so

# VPI/VCI

0.100

Jan 27 16:23:45 dbx-akl-1 kernel: itex_open: opening vpi.vci 0.100 on 0 NIC card
Jan 27 16:23:45 dbx-akl-1 kernel: itex_open: target cell rate (UBR) = 0 0 0 on 0 NIC card.
Jan 27 16:23:45 dbx-akl-1 kernel: InsertOAMF5Info: Vpi = 0, Vci = 100
Jan 27 16:23:45 dbx-akl-1 kernel: Finish InsertOAMF5Info
Jan 27 16:23:45 dbx-akl-1 kernel: Into the CAtmOAMF5Init
Jan 27 16:23:45 dbx-akl-1 kernel: Finish CAtmOAMF5Init

The first major problem I have discovered is that the drivers for the IA310 are a binary only module. It is highly unlikely that an open source driver will be released by ITeX (chipset manufacturer) or Turbocomm (they make the IA310). The latest module is compiled for linux-2.4.16 but seems to load correctly under a 2.4.19 kernel.

There are a few HOWTOs out there describing the process and I will list them at the end.

  1. You must have ppp compiled with PPPoA support. This was hellishly difficult to find. In the end, I had to take ppp-2.4.1 and patch it to have PPPoA support. I will probably make this patched source available somewhere (any offers of hosts greatly appreciated).
  2. You need to have the following packages installed: (I have to get the list tonight).
  3. Lots of coffee.

Once I have got it 100% working and fully tested, I will WIKI the process I followed.