Cuando el diablo se aburre …. reprograma APs

El viejo dicho es :

«Cuando el diablo se aburre, con el rabo mata moscas»

Pero creo que el asesinato de inocentes insectos no entra dentro del incremento de la puntuacion para mi nivel geek pues tendremos q pensar en otra cosa.

Cuando vine para londres habia un par de cosas que consideraba necesarias.

  • Mi portatil
  • Cable de Red
  • Conectores varios
  • Mi punto de acceso Wifi

Sabia que tarde o temprano iba a tener acceso a internet, y eso de andar con cables por ahi a veces es un engorro.. asi q logicamente habia que configurar algun metodo.

El AP llego algo mas tarde que yo (cosas de maximo peso permitido en un avion) .. Este era uno de los AP que aun me quedaba por flashear.

Es un SMC viejo, al que se le puede poner un LinuxAP .. pero para ello necesitaba tiempo y ganas.

Por fin, sacando tiempo de debajo de las piedras, pues me puse a reflashear el bicho.

La preparacion es bien sencilla, un cable serie, un ordenador, y una tarjeta de mejoria de acceso lineal.

Una vez tienes todos los utensilios, solo hay que abrir el bicho y conectar la tarjeta donde estaba la pcmcia inalambrica (quitar una, poner la otra)

Conectamos el cable serie y activar un par de Jumpers. Todo esta mas o menos terminado cuando por nuestra consola vemos lo siguiente.

|

alios biosless Linux bootloader V2

- Bank 0: 2048K organized as 1024K (10 rows by 10 columns) by 16 bits, EDO
- Bank 1: 2048K organized as 1024K (10 rows by 10 columns) by 16 bits, EDO
- Bank 2: no DRAM detected
- Bank 3: no DRAM detected
- Total DRAM detected: 4096 kbytes
- loading configuration 1
- kernel args: console=ttyS0,4800n8

- scanning bootsect.o
- scanning setup.o
- updating setup values
- copying compressed kernel into RAM.......
- starting kernel

Linux version 2.4.17 (root@benchbox.ksmith.com) (gcc
lease)) #1 Fri Sep 13 01:05:42 MST 2002
BIOS-provided physical RAM map:
BIOS-88: 0000000000000000 - 000000000009f000 (usable)
BIOS-88: 0000000000100000 - 0000000000460000 (usable)
On node 0 totalpages: 1120
zone(0): 1120 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,4800n8
Initializing CPU#0
Calibrating delay loop... 16.48 BogoMIPS
Memory: 2884k/4480k available (735k kernel code, 1208k reserved, 148k data, 48k
init, 0k highmem)
Checking if this processor honours the WP bit even in
kmem_create: Forcing size word alignment - names_cache
Dentry-cache hash table entries: 1024 (order: 1, 8192 bytes)
Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: AMD 02/0a stepping 04
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer
Initializing RT netlink socket
Starting kswapd
register_swap_method: method blkdev
register_swap_method: method blkdev file
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
block: 64 slots per queue, batch=16
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0x200: 02 02 02 02 05 02
eth0: NE2000 found at 0x200, using IRQ 14.
physmap flash device: 0x100000 at 0x1000000
2nd physmap flash device: 0x200000 at 0x2000000
Found: Macronix MX29F800T - 8bit access
number of JEDEC chips: 1
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
ip_conntrack (35 buckets, 280 max)
ip_tables: (c)2000 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: Ethernet Bridge 008 for NET4.0
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel m
serial console detected. Disabling virtual terminals.
console=/dev/console
init started: BusyBox v0.60.3-pre (2002.09.13-08:10+0000) multi-call binary
Entering runlevel S
10.sysinit:


Welcome to Linux Instant802

re-mounting root filesystem in rw mode
mounting proc filesystem
mounting var filesystem
20.configfs:
2+0 records in
2+0 records out
netcfg
runlevel
telnetd.hosts
udhcpd.conf
udhcpd.leases
wlan0
loaded saved config.
Done.
Entering runlevel 6
00flash:
Flash Image found, checking . . . f

Reflashing AP in 5 seconds . . .
MTD start erase
4 regions found in this mtd device
region 0 is at 0(0x0) of 15 sectors with sector size 65536(0x10000)
region 1 is at 983040(0xf0000) of 1 sectors with sector size 32768(0x8000)
region 2 is at 1015808(0xf8000) of 2 sectors with sector size 8192(0x2000)
region 3 is at 1032192(0xfc000) of 1 sectors with sector size 16384(0x4000)
boundary check for offset 0(0x0) returning region 0 block 0
erasing region 0 block 0 at offset 0(0x0) length 65536(0x10000)
boundary check for offset 65536(0x10000) returning region 0 block 1
erasing region 0 block 1 at offset 65536(0x10000) length 65536(0x10000)
boundary check for offset 131072(0x20000) returning region 0 block 2
erasing region 0 block 2 at offset 131072(0x20000) length 65536(0x10000)
boundary check for offset 196608(0x30000) returning region 0 block 3
erasing region 0 block 3 at offset 196608(0x30000) length 65536(0x10000)
boundary check for offset 262144(0x40000) returning region 0 block 4
erasing region 0 block 4 at offset 262144(0x40000) length 65536(0x10000)
boundary check for offset 327680(0x50000) returning region 0 block 5
erasing region 0 block 5 at offset 327680(0x50000) length 65536(0x10000)
boundary check for offset 393216(0x60000) returning region 0 block 6
erasing region 0 block 6 at offset 393216(0x60000) length 65536(0x10000)
boundary check for offset 458752(0x70000) returning region 0 block 7
erasing region 0 block 7 at offset 458752(0x70000) length 65536(0x10000)
boundary check for offset 524288(0x80000) returning region 0 block 8
erasing region 0 block 8 at offset 524288(0x80000) length 65536(0x10000)
boundary check for offset 589824(0x90000) returning region 0 block 9
erasing region 0 block 9 at offset 589824(0x90000) length 65536(0x10000)
boundary check for offset 655360(0xa0000) returning region 0 block 10
erasing region 0 block 10 at offset 655360(0xa0000) length 65536(0x10000)
boundary check for offset 720896(0xb0000) returning region 0 block 11
erasing region 0 block 11 at offset 720896(0xb0000) length 65536(0x10000)
boundary check for offset 786432(0xc0000) returning region 0 block 12
erasing region 0 block 12 at offset 786432(0xc0000) length 65536(0x10000)
boundary check for offset 851968(0xd0000) returning region 0 block 13
erasing region 0 block 13 at offset 851968(0xd0000) length 65536(0x10000)
boundary check for offset 917504(0xe0000) returning region 0 block 14
erasing region 0 block 14 at offset 917504(0xe0000) length 65536(0x10000)
boundary check for offset 983040(0xf0000) returning region 1 block 0
erasing region 1 block 0 at offset 983040(0xf0000) length 32768(0x8000)
boundary check for offset 1015808(0xf8000) returning region 2 block 0
erasing region 2 block 0 at offset 1015808(0xf8000) length 8192(0x2000)
boundary check for offset 1024000(0xfa000) returning region 2 block 1
erasing region 2 block 1 at offset 1024000(0xfa000) length 8192(0x2000)
boundary check for offset 1032192(0xfc000) returning region 3 block 0
erasing region 3 block 0 at offset 1032192(0xfc000) length 16384(0x4000)
MTD finish erase
MTD start write
Written: 65536 chars
Written: 131072 chars
Written: 196608 chars
Written: 262144 chars
Written: 327680 chars
Written: 393216 chars
Written: 458752 chars
Written: 524288 chars
Written: 589824 chars
Written: 655360 chars
Written: 720896 chars
Written: 786432 chars
Written: 851968 chars
Written: 917504 chars
Written: 983040 chars
Written: 1048576 chars
MTD finish write

Hard Reboot in 2 seconds ...Restarting system.


alios biosless Linux bootloader V2

- Bank 0: 2048K organized as 1024K (10 rows by 10 columns) by 16 bits, EDO
- Bank 1: 2048K organized as 1024K (10 rows by 10 columns) by 16 bits, EDO
- Bank 2: no DRAM detected
- Bank 3: no DRAM detected
- Total DRAM detected: 4096 kbytes
- loading configuration 1
- kernel args: console=ttyS0,4800n8

- scanning bootsect.o
- scanning setup.o
- updating setup values
- copying compressed kernel into RAM.......
- starting kernel

Linux version 2.4.17 (root@benchbox.ksmith.com) (gcc
lease)) #1 Fri Sep 13 01:05:42 MST 2002
BIOS-provided physical RAM map:
BIOS-88: 0000000000000000 - 000000000009f000 (usable)
BIOS-88: 0000000000100000 - 0000000000460000 (usable)
On node 0 totalpages: 1120
zone(0): 1120 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,4800n8
Initializing CPU#0
Calibrating delay loop... 16.48 BogoMIPS
Memory: 2884k/4480k available (735k kernel code, 1208k reserved, 148k data, 48k
init, 0k highmem)
Checking if this processor honours the WP bit even in
kmem_create: Forcing size word alignment - names_cache
Dentry-cache hash table entries: 1024 (order: 1, 8192 bytes)
Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: AMD 02/0a stepping 04
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer
Initializing RT netlink socket
Starting kswapd
register_swap_method: method blkdev
register_swap_method: method blkdev file
Serial driver version 5.05c (2001-07-08) with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
block: 64 slots per queue, batch=16
ne.c:v1.10 9/23/94 Donald Becker (becker@scyld.com)
Last modified Nov 1, 2000 by Paul Gortmaker
NE*000 ethercard probe at 0x200: 02 02 02 02 05 02
eth0: NE2000 found at 0x200, using IRQ 14.
physmap flash device: 0x100000 at 0x1000000
2nd physmap flash device: 0x200000 at 0x2000000
Found: Macronix MX29F800T - 8bit access
number of JEDEC chips: 1
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 512)
ip_conntrack (35 buckets, 280 max)
ip_tables: (c)2000 Netfilter core team
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NET4: Ethernet Bridge 008 for NET4.0
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel m
serial console detected. Disabling virtual terminals.
console=/dev/console
init started: BusyBox v0.60.3-pre (2002.09.13-08:10+0000) multi-call binary
Entering runlevel S
10.sysinit:


Welcome to Linux Instant802

re-mounting root filesystem in rw mode
mounting proc filesystem
mounting var filesystem
20.configfs:
2+0 records in
2+0 records out
netcfg
runlevel
telnetd.hosts
udhcpd.conf
udhcpd.leases
wlan0
loaded saved config.
Done.
Entering runlevel 2

10.0.lo:
10.1.wlan0:
Starting wlan0: Using /lib/modules/2.4.17/pcmcia/pcmcia_core.o
Linux PCMCIA Card Services 3.1.28
kernel build: 2.4.17 #1 Fri Sep 13 01:05:42 MST 2002
options: none
Using /lib/modules/2.4.17/pcmcia/i82365.o
Intel PCIC probe:
Intel i82365sl A step ISA-to-PCMCIA at port 0x3e0 ofs 0x00
host opts [0]: none
ISA irqs (default) = 3,5,7,9,10,11,12,15 polling interval = 1000 ms
Using /lib/modules/2.4.17/pcmcia/ds.o
Using /lib/modules/2.4.17/pcmcia/hostap_cs.o
hostap_cs: hostap_cs.c 0.0.0 2002-05-19 (SSH Comm
Malinen)
hostap_cs: (c) SSH Communications Security Corp
Jan 1 00:00:12 cardmgr[62]: starting, version is 3.1.28
Jan 1 00:00:12 cardmgr[62]: watching 1 sockets
Jan 1 00:00:12 cs: memory probe 0x0d0000-0x0dffff:cardmgr[62]: ini clean.
tializing socket 0
Jan 1 00:00:12 cardmgr[62]: unsupported card in socket 0
Jan 1 00:00:12 cardmgr[62]: exiting
Done.
10.2.primary:
Starting wlan0 interface.
wlan0 does not exist
10.3.tftpcfg:
10.5.cipe:
10.8.secondary:
10.9.route:
11.0.netswap:
15.0.tcpsrv:
Set date && start logging.
rdate: 192.168.4.1: Network is unreachable
16.0.dhcpd:
# udhcpd.conf disable
udhcpd disabled
17.0.httpd:
Starting httpd daemon.
18.0.telnetd:
Starting telnetd daemon.
21.0.iptables:
98.tweak:
99.done:

Startup Complete
Please press Enter to activate this console.

|

El mensaje final es bastante explicativo. Una vez reflaseado solo hay que apagar, montar y configurar. Si os fijais durante el primer arranque da varios errores por que no se encuentra la tarjeta Wifi.

Una vez instalado el linux ya la cosa se hace mas sencilla. Para actualizar la version solo hay que transferir a traves de tftp la nueva version (cosa que hize inmediatamente).
Ahora mismo esta funcionando como un router inalambrico en modo AP.

La verdad es que el proceso esta chulo. Es estretenido.

He estado buscando en la la.. lava.. laba… en la washing machine ( 😉 ) pero no hay conexion serie ni nada para instalar Linux.

2 comentarios en “Cuando el diablo se aburre …. reprograma APs

  1. Appleboy

    Este es, de lejos, el post más plomazo de cuantos hayamos leido en la blogosfera esta. Roza, incluso, lo ilegal. Tomaremos medidas.

    Pero, que diablos, yo también me he comprado hace poco un router (para los neófitos, un router no es un AP. Se diferencia en que… es más molón), y no es que se le pueda meter Linux. Es que ¡ya viene con Linux! La solución ideal para freaks/geeks/pajeros vagos como yo.

    Dios mío, estoy contribuyendo a que la gente se duerma 🙂 🙂 🙂

    Y una última reflexión: El que usted prefiera programar un router a matar lo que sea con el rabo es, cuanto menos preocupante 🙂

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s