Linksys WRTSL54GS

From DD-WRT Wiki

Jump to: navigation, search

Contents

[edit] Overview

This page describes the installaton of DD-WRT on WRTSL54GS. WRTSL54GS come with a USB port. With this port and DD-WRT firmware, doors are open for many different applications of this hardware.

[edit] Running WRT DD-WRT v23 SP2


DD-WRT v23 SP2 std (c) 2006 NewMedia-NET GmbH
Release: 09/15/06 (SVN revision: 3932)

DD-WRT login: root
Password:
==========================================================

 ____  ___    __        ______ _____         ____  _____
 | _ \| _ \   \ \      / /  _ \_   _| __   _|___ \|___ /
 || | || ||____\ \ /\ / /| |_) || |   \ \ / / __) | |_ \
 ||_| ||_||_____\ V  V / |  _ < | |    \ V / / __/ ___) |
 |___/|___/      \_/\_/  |_| \_\|_|     \_/ |_____|____/

                       DD-WRT v23 SP2
                   http://www.dd-wrt.com

==========================================================


DD-WRT VeryBusyBox v1.2.1 (2006.09.15-18:06+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.

~ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root                 2880      2880         0 100% /
/dev/mtdblock/4           4352      2536      1816  58% /jffs
~ #


[edit] Running WRT DD-WRT v24

The usb disk modules are already in V24.

DD-WRT v24 mini (c) 2008 NewMedia-NET GmbH
Release: 05/24/08 (SVN revision: 9526)

DD-WRT login: root
Password:
==========================================================

 ____  ___    __        ______ _____         ____  _  _
 | _ \| _ \   \ \      / /  _ \_   _| __   _|___ \| || |
 || | || ||____\ \ /\ / /| |_) || |   \ \ / / __) | || |_
 ||_| ||_||_____\ V  V / |  _ < | |    \ V / / __/|__   _|
 |___/|___/      \_/\_/  |_| \_\|_|     \_/ |_____|  |_|

                       DD-WRT v24
                   http://www.dd-wrt.com

==========================================================


BusyBox v1.9.2 (2008-05-24 13:31:54 CEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

root@DD-WRT:~# dmesg
CPU revision is: 00029006
Linux version 2.4.35 (root@dd-wrt) (gcc version 3.4.6 (OpenWrt-2.0)) #2088 Sat May 24 13:33:41 CEST 2008
Setting the PFC to its default value
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
On node 0 totalpages: 8192
zone(0): 8192 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
CPU: BCM4704 rev 8 at 264 MHz
Using 132.000 MHz high precision timer.
Calibrating delay loop... 263.78 BogoMIPS
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)
Inode cache hash table entries: 2048 (order: 2, 16384 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: 8192 (order: 3, 32768 bytes)
Checking for 'wait' instruction...  unavailable.
POSIX conformance testing by UNIFIX
PCI: Initializing host
PCI: Fixing up bus 0
PCI: Fixing up bridge
PCI: Setting latency timer of device 01:00.0 to 64
PCI: Fixing up bus 1
Initializing RT netlink socket
Starting kswapd
devfs: v1.12c (20020818) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
squashfs: version 3.0 (2006/03/15) Phillip Lougher
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0xb8000300 (irq = 3) is a 16550A
ttyS01 at 0xb8000400 (irq = 3) is a 16550A
Broadcom Watchdog Timer: 0.05, timer margin: 30 sec
PCI: Setting latency timer of device 00:01.0 to 64
PCI: Setting latency timer of device 00:02.0 to 64
PCI: Setting latency timer of device 01:01.0 to 64
PCI: Enabling device 01:01.0 (0004 -> 0006)
Universal TUN/TAP device driver 1.5 (C)1999-2002 Maxim Krasnyansky
Physically mapped flash: Found an alias at 0x800000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1000000 for the chip at 0x0
Physically mapped flash: Found an alias at 0x1800000 for the chip at 0x0
cfi_cmdset_0001: Erase suspend on write enabled
0: offset=0x0,size=0x20000,blocks=64
Using buffer write method
Flash device: 0x800000 at 0x1c000000
bootloader size: 262144
Physically mapped flash: Filesystem type: squashfs, size=0x1e68f7
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "cfe"
0x00040000-0x007e0000 : "linux"
0x001218e0-0x00320000 : "rootfs"
mtd: partition "rootfs" doesn't start on an erase block boundary -- force read-only
0x007e0000-0x00800000 : "nvram"
0x00320000-0x007e0000 : "ddwrt"
sflash not supported on this router
Initializing Cryptographic API
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 2048 bind 4096)
ip_conntrack version 2.1 (512 buckets, 4096 max) - 336 bytes per conntrack
ip_tables: (C) 2000-2002 Netfilter core team
ipt_random match loaded
netfilter PSD loaded - (c) astaro AG
ipt_osf: Startng OS fingerprint matching module.
ipt_IPV4OPTSSTRIP loaded
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFS: Mounted root (squashfs filesystem) readonly.
Mounted devfs on /dev
device eth0 entered promiscuous mode
device eth2 entered promiscuous mode
device eth1 entered promiscuous mode
device eth1 left promiscuous mode
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
PCI: Enabling device 01:02.2 (0000 -> 0002)
ehci_hcd 01:02.2: PCI device 1033:00e0
ehci_hcd 01:02.2: irq 2, pci mem c000b000
usb.c: new USB bus registered, assigned bus number 1
ehci_hcd 01:02.2: USB 2.0 enabled, EHCI 1.00, driver 2003-Dec-29/2.4
hub.c: USB hub found
hub.c: 5 ports detected
SCSI subsystem driver Revision: 1.00
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
hub.c: new USB device 01:02.2-1, assigned address 2
scsi0 : SCSI emulation for USB Mass Storage devices
  Vendor: SanDisk   Model: U3 Cruzer Micro   Rev: 2.18
  Type:   Direct-Access                      ANSI SCSI revision: 02
  Vendor: SanDisk   Model: U3 Cruzer Micro   Rev: 2.18
  Type:   CD-ROM                             ANSI SCSI revision: 02
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 8015505 512-byte hdwr sectors (4104 MB)
sda: Write Protect is off
Partition check:
 /dev/scsi/host0/bus0/target0/lun0: p1
WARNING: USB Mass Storage data integrity not assured
USB Mass Storage device found at 2
root@DD-WRT:~#



root@DD-WRT:~# mount /dev/scsi/host0/bus0/target0/lun0/part1  /tmp/test
root@DD-WRT:~# ls /tmp/test/
Documents     LaunchU3.exe  System
root@DD-WRT:~#

root@DD-WRT:~# hdparm -tT  /dev/scsi/host0/bus0/target0/lun0/part1              
/dev/scsi/host0/bus0/target0/lun0/part1:
 Timing cached reads:   148 MB in  2.03 seconds =  72.91 MB/sec
 Timing buffered disk reads:   22 MB in  3.16 seconds =   6.96 MB/sec
root@DD-WRT:~#


[edit] Installation Procedures

  • The default lan ip address for wrtsl54gs is 192.168.1.1.
  • Download 23sp2 for WRTSL54GS.
  • Browse Linksys web server.
  • Upgrade the default linksys firmware using the standard version, dd-wrt.v23_wrtsl54gs.bin.
    • There is no need to use the mini-generic one as stated in the hwsupport.txt file.
C:\tmp\dd-wrt.v23_sp2_standard>dir
 Volume in drive C has no label.
 Volume Serial Number is 30F9-EE95

 Directory of C:\tmp\dd-wrt.v23_sp2_standard

02/18/2007  10:56 AM    <DIR>          .
02/18/2007  10:56 AM    <DIR>          ..
09/13/2006  04:59 PM            50,443 changelog.txt
09/15/2006  08:11 PM         3,502,080 dd-wrt.v23_asus.trx
09/15/2006  08:11 PM         3,502,080 dd-wrt.v23_generic.bin
09/15/2006  08:11 PM         3,503,104 dd-wrt.v23_wrt54g.bin
09/15/2006  08:11 PM         3,503,104 dd-wrt.v23_wrt54gs.bin
09/15/2006  08:11 PM         3,503,104 dd-wrt.v23_wrt54gsv4.bin
09/15/2006  08:11 PM         3,503,104 dd-wrt.v23_wrtsl54gs.bin
08/02/2006  04:24 AM             3,108 hwsupport.txt
09/13/2006  05:02 PM               592 notes.txt
               9 File(s)     21,070,719 bytes
               2 Dir(s)  12,612,669,440 bytes free

C:\tmp\dd-wrt.v23_sp2_standard>

[edit] Turn on SSHd

  • Go to web interface (default user in v23sp2 is root, password admin),
  • by default at 192.168.1.1... then go to Administration->Services
  • and turn on Secure Shell -> SSHd and Password Login.

[edit] Turn on JFFS2

SSH to your WRTSL45GS and run:

nvram set jffs_mounted=1
nvram set enable_jffs2=1
nvram set sys_enable_jffs2=1
nvram set clean_jffs2=1
nvram set sys_clean_jffs2=1
nvram commit
reboot

This reboot takes a while, be patient and don't power the unit off.

[edit] Add more packages

To get USB working, install these packages:

ipkg update
ipkg install kmod-usb-uhci
ipkg install kmod-usb-core
ipkg install kmod-usb2
ipkg install kmod-usb-storage
ipkg install hdparm
ipkg install kmod-vfat
ipkg install kmod-ext2
ipkg install kmod-ext3

Then you need to load the modules:

insmod /jffs/lib/modules/2.4.30/usbcore.o
insmod /jffs/lib/modules/2.4.30/ehci-hcd.o
insmod /jffs/lib/modules/2.4.30/scsi_mod.o
insmod /jffs/lib/modules/2.4.30/usb-storage.o
insmod /jffs/lib/modules/2.4.30/sd_mod.o

Modules won't stay loaded across reboots - see USB howto for more: USB wiki page. Basically, you want to make your own startup script in /jffs/etc/config. Make sure it ends in .startup, like myscript.startup.

My script:

#!/bin/sh
insmod /jffs/lib/modules/2.4.30/usbcore.o
insmod /jffs/lib/modules/2.4.30/ehci-hcd.o
insmod /jffs/lib/modules/2.4.30/scsi_mod.o
insmod /jffs/lib/modules/2.4.30/usb-storage.o
insmod /jffs/lib/modules/2.4.30/sd_mod.o
insmod /jffs/lib/modules/2.4.30/fat.o
insmod /jffs/lib/modules/2.4.30/vfat.o
insmod /jffs/lib/modules/2.4.30/ext2.o
insmod /jffs/lib/modules/2.4.30/ext3.o
sleep 2

mount /dev/scsi/host0/bus0/target0/lun0/part1 /mnt
mount /dev/scsi/host0/bus0/target0/lun0/part2 /opt

Note that scripts in /jffs/etc/config appear to run in parallel!

[edit] Getting Samba2 running

This isn't easy! when I did ipkg-install samba, it was broken (running a binary gives you a bad symbol or something about fstat64).

How I did it: use Optware, with opt mounted on your USB HD (see my script above). Yeah, you've gotta mount /opt somewhere because the samba2 package alone is >7mb!

When optware is installed and working, ipkg-opt install samba2 should fix you up.


[edit] Turn on SNMP monitoring

This router device can be monitored by a SNMP Manager.

[edit] Dude, a free network monitoring tool

[edit] Enable snmp client on dd-wrt v23 sp2

  • snmp client dd-wrt support both snmp v1 and v2.
  • see following screenshot.

Image:Wrtsl54gs-snmpv2-dude.jpg

[edit] USB Hard disk

  • WD 1600JB External
<6>usb.c: USB disconnect on device 01:02.2-1 address 2
<6>hub.c: new USB device 01:02.2-1, assigned address 3
<6>scsi1 : SCSI emulation for USB Mass Storage devices
<0>  Vendor: WD        Model: 1600JB External   Rev: 0108
<0>  Type:   Direct-Access                      ANSI SCSI revision: 02
<0>Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0
<0>SCSI device sdb: 312581808 512-byte hdwr sectors (160042 MB)
<6> /dev/scsi/host1/bus0/target0/lun0: p1
<7>WARNING: USB Mass Storage data integrity not assured
<7>USB Mass Storage device found at 3
~ #

  • mount /dev/scsi/host1/bus0/target0/lun0/part1 /tmp/usb/1
~ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/root                 2880      2880         0 100% /
/dev/mtdblock/4           4352      1964      2388  45% /jffs
/dev/scsi/host1/bus0/target0/lun0/part1 156250144  10562880 145687264   7% /tmp/usb/1
~ #

  • check, what are the contents ?
~ # ls -l /tmp/usb/1
drwxr-xr-x    2 root     root        32768 Jan 27 15:31 Recycled
drwxr-xr-x    3 root     root        32768 Jan 14 08:45 System Volume Information
drwxr-xr-x    2 root     root        32768 Aug  8  2006 autorun
-rwxr-xr-x    1 root     root           36 Nov 15  2005 autorun.inf
drwxr-xr-x    5 root     root        32768 Aug  8  2006 wd_windows_tools
~ #

[edit] USB flash disk

  • Test of its performance.

/tmp # ls -ld /dev/scsi/host0/bus0/target0/lun0/*
brw-------    1 root     root       8,   0 Jan  1  1970 /dev/scsi/host0/bus0/target0/lun0/disc
brw-------    1 root     root       8,   1 Jan  1  1970 /dev/scsi/host0/bus0/target0/lun0/part1
brw-------    1 root     root       8,   2 Jan  1  1970 /dev/scsi/host0/bus0/target0/lun0/part2
brw-------    1 root     root       8,   3 Jan  1  1970 /dev/scsi/host0/bus0/target0/lun0/part3
/tmp # hdparm -tT /dev/scsi/host0/bus0/target0/lun0/part2

/dev/scsi/host0/bus0/target0/lun0/part2:
 Timing cached reads:   156 MB in  2.00 seconds =  78.00 MB/sec
 Timing buffered disk reads:   20 MB in  3.24 seconds =   6.17 MB/sec
/tmp # date
Sun Jul  8 10:38:27 UTC 2007
/tmp #

[edit] Hobbit System Monitoring server on WRTSL54GS

TBC.

[edit] Hobbit System Monitoring client on WRTSL54GS

TBC.

[edit] Known bugs of DD-WRT V23sp2 with WRTSL54GS

  • 192.168.1.1 will not startup after some DD-WRT GUI operation.
    • Fix, close all the exising browser window and power cycle the WRTSL54GS.