Drobo connected to Asus router running TomatoUSB

Simple – Don’t do it! This was from a couple of years ago when running TomatoUSB on an ASUS RT-N16 router. DD-WRT had issues where the wifi would drop off periodically. I found that TomatoUSB (Shibby or Toastman) were both very good alternatives. So good that I’ve since moved onto Tomato for almost all of my routers.

Anyways, some of the issues I ran into were:

Value too large for defined data type …

Sep 24 00:01:08 unknown daemon.err smbd[1539]: disk_free: sys_fsusage() failed.
Error was : Value too large for defined data type
Sep 24 00:01:08 unknown daemon.err smbd[1539]: disk_free: sys_fsusage() failed.
Error was : Value too large for defined data type

root@unknown:/tmp/etc# df -h
Filesystem Size Used Available Use% Mounted on
/dev/root 5.6M 5.6M 0 100% /
tmpfs 62.0M 400.0K 61.6M 1% /tmp
devfs 62.0M 0 62.0M 0% /dev
df: /tmp/mnt/Monster: Value too large for defined data type

Along with this, the CPU on that router just couldn’t handle NTFS-3G well – CPU utilization was going through the roof on writes. I think reads were okay.

It would be better to just build a cheap NAS.

What’s USB device VID_07aa&PID_0011 ? Any Windows XP driver available?

This happens to be my old ass USB wireless lan adapter – only 11Mbps. Good enough for an old system and just to get online though it doesn’t have a whole lot of range. The reason I’m posting is because I did a search and couldn’t find the driver very quickly. It’s available at www.driverguide.com, but I’m so tired of having to click through their ads to get to my final driver download. The driver is available for downloading here.

How to Flash an AirLink101 AR430w router with DD-WRT firmware

1. Connect cable to WAN port and power on router

Download contents from: http://www.dd-wrt.com/dd-wrtv2/down.php?path=downloads%2Frelease+candidates%2FDD-WRT+v24+RC7%2FAtheros+WiSoc%2FAirlink+101+AR430W/

2. Set your host IP to 192.168.20.80 (Don’t bother with any values in DNS Server/Alternate DNS)
3. ping -t 192.168.20.81
4. Run PuTTY/PuttyTel (YOU MUST USE PUTTY – SecureCRT and the regular Windows telnet DON’T WORK!) and set port to 9000 with Telnet option. – on the 2nd ping, hit open to connect to the router on 192.168.20.81. If you miss this, you may need to reset the router and try again.
You’ll see:
You’ll probably get these messages:
/releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#390:ae531x_send AHB ERROR: AR531X_DEBUG_ERROR = 00000145
/releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#393:ae531x_send AHB ERROR status_4 = 00000145

It’s safe to ignore them.

5. Started TtftpSrv in background.

In the screen, run:
load ap61.ram
go

6. change host IP to 192.168.1.23 and then change your command prompt window to run: “ping -t 192.168.1.1”

7. with putty, telnet to 192.168.1.1 9000
You’l see: DD-WRT>

Unfortunately, after this, it’s a little shaky as to what I did. If you do all of these steps in this order, it should work.

ip_address -l 192.168.1.1 -h 192.168.1.23
fconfig bootp false
bootp: Setting to false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

DD-WRT> ip_address -l 192.168.1.1 -h 192.168.1.23
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.23
DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
Using default protocol (TFTP)
Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000

fis create -l 0x30000 -e 0xbfc00000 RedBoot
An image named ‘RedBoot’ exists – continue (y/n)? y
… Erase from 0xbfc00000-0xbfc30000: …
… Program from 0x80080000-0x800a8718 at 0xbfc00000: …
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x807f0000-0x80800000 at 0xbffe0000: .

reset

DD-WRT> fis init
About to initialize [format] FLASH image system – continue (y/n)? y
*** Initialize FLASH Image System
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

fconfig boot_script true
boot_script: Setting to true
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script_timeout 3
boot_script_timeout: Setting to 3
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>

DD-WRT> load -v -r -b 0x80041000 linux.bin

You should see something like this:

|——————————————————————————-
Raw file loaded 0x80041000-0x803cefff, assumed entry at 0x80041000————–
DD-WRT> ———————————————————————-
——————————————————————————–
——————————————————————————–
——————————————————————————–

Then run:
fis create linux
This will take forever. This would probably be a good time to set your telnet session so that putty doesn’t timeout and die.

Here’s a screenshot:

putty config to set the timeout

DD-WRT> fis create linux——————————————————–
——————————————————————————–
——————————————————————————–
… Erase from 0xbfc30000-0xbffbe000: …………………………………………………
… Program from 0x80041000-0x803cf000 at 0xbfc30000: …………………………………………………
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> DD-WRT> DD-WRT>

DD-WRT> fconfig
Run script at boot: true
Boot script:
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>>
Boot script timeout (1000ms resolution): 3
Use BOOTP for network configuration: true
Default server IP address: 192.168.1.1
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration – continue (y/n)? y
… Erase from 0xbffe0000-0xbfff0000: .
… Program from 0x80ff0000-0x81000000 at 0xbffe0000: .

Please reference: http://www.dd-wrt.com/phpBB2/viewtopic.php?t=29779

and http://www.dd-wrt.com/phpBB2/viewtopic.php?t=23510&postdays=0&postorder=asc&start=240

and of course http://www.dd-wrt.com/dd-wrtv2/downloads/release%20candidates/DD-WRT%20v24%20RC7/Atheros%20WiSoc/Airlink%20101%20AR430W/flashing.txt

By the way, here’s the end result:

Airlink DD-WRT screenshot

Flashing the Airlink AR430W woes …

Timing needs to be right in getting into the damn Redboot – takes forever.

Trick is to do a ping in one window and when you see 2 pings, use putty to connect to 192.168.20.81 port 9000. Another command prompt window WILL NOT work.

Then, ran into this issue:
/releases/svn.porsche/redboot-ar231x/redboot-ar231x/redboot_cobra/ecos/packages/devs/eth/mips/ar531x/current/src/ae531xecos.c#390:ae531x_send AHB ERROR: AR531X_DEBUG_ERROR = 00000145
Not sure if that’s an issue.

Then, try loading the ap610.rom and go and it reboots. Will try following the instructions from here http://www.dd-wrt.com/phpBB2/viewtopic.php?t=23510&postdays=0&postorder=asc&start=240 tomorrow.

How to get USB devices to work in Linux or the ESX console

Here is how I’ve gotten a couple of cdroms / usb memory sticks / hard drives to work.

1) modprobe usb-ohci
Or
modprobe usb-uhci
(one of them should work, one may fail)

2) modprobe usb-storage

3) tail /var/log/messages
Or
dmesg
and you should see something like this:
Feb 8 14:50:56 supp15 kernel: Initializing USB Mass Storage driver…
Feb 8 14:50:56 supp15 kernel: usb.c: registered new driver usb-storage
Feb 8 14:50:56 supp15 kernel: scsi1 : SCSI emulation for USB Mass Storage devices
Feb 8 14:50:56 supp15 kernel: Vendor: SanDisk Model: Cruzer Mini Rev: 0.4
Feb 8 14:50:56 supp15 kernel: Type: Direct-Access ANSI SCSI revision: 02
Feb 8 14:50:56 supp15 kernel: VMWARE SCSI Id: Supported VPD pages for sdb : 0x1f 0x0
Feb 8 14:50:56 supp15 kernel: VMWARE SCSI Id: Could not get disk id for sdb
Feb 8 14:50:56 supp15 kernel: :VMWARE: Unique Device attached as scsi disk sdb at scsi1, channel 0, id 0, lun 0
Feb 8 14:50:56 supp15 kernel: Attached scsi removable disk sdb at scsi1, channel 0, id 0, lun 0
Feb 8 14:50:56 supp15 kernel: scsi_register_host starting finish
Feb 8 14:50:56 supp15 kernel: SCSI device sdb: 2001888 512-byte hdwr sectors (976 MB)
Feb 8 14:50:56 supp15 kernel: sdb: Write Protect is off
Feb 8 14:50:56 supp15 kernel: sdb: sdb1 Feb 8 14:50:56 supp15 kernel: scsi_register_host done with finish
Feb 8 14:50:56 supp15 kernel: USB Mass Storage support registered.

4) Now that we know that it’s sdb1,
Create the mountpoint directory:
mkdir /mnt/usb
Mount the device:
mount /dev/sdb1 /mnt/usb

That’s it. Your files should be in /mnt/usb. To check, just run ls /mnt/usb

In a case that you don’t have /dev/sdb1 there, which is what happened to me once with a Dell CDrom, I had to mknod the device.
After plugging the usb cdrom into the machine, /var/log/messages showed:

date hostname kernel: sr0: scsi3-mmc drive: 10x/10x cd/rw …..

Unfortunately, if you type: “mount /dev/sr0 /mnt/mountpoint”, it will say:
“mount: special device /dev/sr0 does not exist” and that doesn’t do us any good. So what I did after that was:
cd /dev
mknod sr0 b 11 0

With that, /dev/sr0 existed and hence I was able to run:
mount /dev/sr0 /mnt/mountpoint

or, I could run:
ln -s /dev/sr0 /dev/cdrom
and run:
mount /dev/cdrom /mnt/mountpoint

That’s it!