Turbocomm IA310 HOWTO
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 LinuxPPPoA 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 LinuxPPPoA 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. mattb has created a Debian package of the latest pppd with PPPoA support - see the LinuxPPPoA page for details.
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
- This commented out as I use my own DNS server
- 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 - these are for NZ
0.100
/etc/ppp/pap-secrets
- Username Provider Password
yourusername@yourisp * yourpassword
- The * means that this password will be used for all connections where the username is yourusername@yourisp. Next? Start pppd from the command line, and all things going well, boom shanka, you will have the following appear in your messages log
- 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
and you will have a ppp network device, and a connection to your ISP.