OpenWrt Forum Archive

Topic: openwrt wl-hdd

The content of this topic has been archived on 3 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hy,

i have managed to get openwrt working on my Asus wl-hdd!

One problem i had to solve is that the value of the reset button in /proc/sys/reset seems to be inverted.  When the button is pressed the value of sys/reset is 0, when the button isn't pressed the value is 1. Because of this my installationen booted into failsave by default, to start normal i had needed to press the reset button.

I have attached an modified preinit script to the post which try's to read an reset value from the reset_val variable in nvram. Setting this to 0 allows booting the wl-hdd in normal mode and in failsave when reset is pressed.

Maybe it would be nice to integrate this into openwrt, or even some sort of autodetection of an wl-hdd. (I only have an wl-hdd, so i can't find out how to distinct between an wl-hdd and an Linksys Router. If someone want's some extra info's about the device, i could post them)

Next i will try to get the ide Interface working. Has anyone allready got this working?

Cheers,
Sascha

The error would be the diag.o module, not the preinit script.

I need to know the boardtype and boardnum vars from nvram. I think both the wl-500g and wl-hdd have the same nvram variables but the reset buttons opposite eachother.

boardtype=bcm94710dev
boardnum=asusX

Yes, i think you are right. My nvram variables look quite the same:

# nvram show | grep board
boardtype=bcm94710dev
boardnum=asusX

Maybe the board_type helps:
diag boardtype: 0000041a

To my knowledge there is no easy way to determine is this unit is wl-hdd. For some reason hardware_version says, that it's wl-300g, but it's not true. big_smile Also, wl-300g uses the same gpio mappings as wl-500g has. The only different in the whole Asus family is wl-hdd unit, which has reverse RESTORE button polarity and is not correctly labeled...

nvram defaults for wl-hdd is as following:

boardtype=bcm94710dev
boardnum=asusX
clkfreq=125
sdram_init=0x0419
sdram_config=0x0000
sdram_refresh=0x8040
et0macaddr=00:11:2F:00:00:00
et0phyaddr=0
et0mdcport=0
et1macaddr=00:11:2F:00:00:00
et1phyaddr=01
et1mdcport=1
dl_ram_addr=a0001000
os_ram_addr=80001000
os_flash_addr=bfc40000
lan_ipaddr=192.168.1.1
lan_netmask=255.255.255.0
scratch=a0180000
boot_wait=on
watchdog=3000
hardware_version=WL300-02-03-01-20
regulation_domain=0X30DE

I do not have wl300g pmon image, so I could not say if there some other differences. The thing I suspect is different et1phyaddr. et0phyaddr is a fake on the wl-hdd, while wl300g should have real address for et0phyaddr.

Another difference is the ide stuff in the /proc/pci.

On the other hand, preinit could only check for change of the button state, not the exact status of the button.

Has anyone managed to compile hdd support into the firmware?

When I reconfigure the kernel/firmware (the last stable)  and compile ide-support as module, then loading ide-mod brings:

ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
Unable to handle kernel paging request at virtual address 00000004, epc == c00bf330, ra == c00bf324
Oops in fault.c::do_page_fault, line 192:
$0 : 00000000 c00d0000 00000000 12345678 80f0fe1c 00000000 00000000 ffffcd75
$8 : 0000003c 801323b4 00000000 00000000 80193390 fffffffa 0000000a ffffffff
$16: 80132300 c00d5a30 80f0fde0 00000000 00000060 80e04000 10104d08 80228c80
$24: 00000002 00000001                   80f0e000 80f0fdd0 00000007 c00bf324
Hi : 00000000
Lo : 00000200
epc  : c00bf330    Not tainted
Status: 1000fc03
Cause : 00000008
Process insmod (pid: 10, stackpage=80f0e000)
Stack:    00000d75 800108bc 1000fc01 1000fc01 00000000 00000000 00000000
00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
00000000 00000000 00000000 00000000 c00d1b8c c00d13c5 1000fc01 00000001
00000009 1011a7b4 ffffffea c00bf540 c00bf7b0 00000000 00000021 c00d13cc
00000000 00000007 c00c6934 8027ab40 00000001 00000000 00000000 00000007
c00bf000 ...
Call Trace:   [<800108bc>] [<c00d1b8c>] [<c00d13c5>] [<c00bf540>] [<c00bf7b0>]
[<c00d13cc>] [<c00c6934>] [<c00c6a90>] [<8002b3d8>] [<80015d74>] [<80011e20>]
[<8002b3d8>] [<8002a4a8>] [<80015bec>] [<c00bf060>] [<800082e4>]

Code: 3c028019  8c4203d8  a2330357 <8c420004> 0040f809  02602021  3c038019  8c6303d8  00402821


And the module stays in initializig state.

When compiled as non-module, the controller (pdc20265) gets recognized correctly, but the Hard-Disc remains unrecognized sad

i have managed to get openwrt working on my Asus wl-hdd!
With the  experimental.tar.bz2  from  23-Apr-2005 22:45  1.5M  without modification !!!!
No problem but no ide support?
Can my somebody help smile ???
Thanks

The discussion might have continued from here.