Rg Kernel

From Bubble

Contents

Summary

We are using Till Straumann's kernel patches to support the RG-1000.

They have been developed for the Linux 2.2 kernel, and I have ported them to the 2.4 series.

All the kernel changes are protected by the CONFIG_RC_1000 define which is a selectable option of the ELAN machine type.

These are the main categories of patches:

Modem Console support

The only way to have console output is to use the modem port.
This set of patches ensure that all console output is re-directed to the modem port.

Of course, the serial console need to be selected during the kernel build.

{i} Status: {OK} no problem.

RG-1000 LED's handling

Driver to handle the RG-1000 LED's.
It is used by the other drivers, and provide a fancy user-mode interface through devices. Device major is 100; minors are in the table below.

As opposed to the Airport, the RG-1000 has 8 LED's.

aaf.sized.jpg

From top to bottom, we have:

Description (Original usage of the LEDs)Symbol Minor GreenMinor Red
Power o- 0 1
Wireless ~ 2 3
Ethernet o---o 4 5
Modem ---| 6 7

{i} Status: {OK} no problem.

LAN support

Driver to handle the network chip

Minor patches to driver/net/lance.c

{i} Status: {OK} no problem.

WLAN support

Driver to handle wireless card

This is a bit more complex: the RG-1000 as a PCMCIA bridge which is compatible with a i82365. But we do not want to load the whole PCMCIA/cardmgr stuff.

So we have an additional driver -- driver/net/wireless/orinoco_rc1000.c -- which works like the PLX support (orinoco_plx.c): we initialize the PCMCIA bridge, setup the card and pass the control to the original Orinoco drivers.

{i} Status: {OK} no problem.

PPPOX support

Support for PPPOX

{i} Status: {X} No plan -- not in the scope of the project

Idle Loop

Although I did not find any references of this on the web, my RG-1000 crashes as soon it enters the idle loop.

I took me a long time to debug this, but the problem can be easily solved by booting with the no-hlt command-line parameter.