jimsheldon wrote:Glad someone else is working on getting 8.09 working on a wl-520gu.
Could you explain how you adapted the patch? So far I haven't been able to get it to boot until I uncomment these lines in arch/mips/bcm47xx/prom.c:
I found that the patch didn't apply properly, so I just manually patched my prom.c. What I'll do shortly is do a diff and post a patch that is likely to apply better.
I still don't believe the patch provided is perfect. I notice on a 2.6 kernel (when it works) I get the version/gcc info, followed by SSB info. e.g.
Loading: ........ 2482299 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
Linux version 2.6.25.17 (cpeacock@max.beyondlogic.org) (gcc version 4.1.2) #1 Tue Nov 11 21:24:25 EST 2008
console [early0] enabled
CPU revision is: 00029029 (Broadcom BCM3302)
ssb: Core 0 found: ChipCommon (cc 0x800, rev 0x14, vendor 0x4243)
ssb: Core 1 found: Fast Ethernet (cc 0x806, rev 0x09, vendor 0x4243)
ssb: Core 2 found: MIPS 3302 (cc 0x816, rev 0x08, vendor 0x4243)
ssb: Core 3 found: USB 2.0 Host (cc 0x819, rev 0x02, vendor 0x4243)
ssb: Core 4 found: MEMC SDRAM (cc 0x80F, rev 0x04, vendor 0x4243)
ssb: Core 5 found: IEEE 802.11 (cc 0x812, rev 0x0D, vendor 0x4243)
ssb: Core 6 found: Roboswitch (cc 0x81C, rev 0x02, vendor 0x4243)
ssb: Initializing MIPS core...
ssb: set_irq: core 0x0806, irq 2 => 2
ssb: set_irq: core 0x0819, irq 4 => 3
ssb: set_irq: core 0x0812, irq 0 => 4
ssb: Sonics Silicon Backplane found at address 0x18000000
Serial init done.
Determined physical RAM map:
memory: 01000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
Normal 0 -> 4096
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
0: 0 -> 4096
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 4064
Kernel command line: root=/dev/mtdblock2 rootfstype=squashfs,jffs2 init=/etc/preinit noinitrd console=ttyS0,115200
Primary instruction cache 16kB, VIPT, 4-way, linesize 16 bytes.
Primary data cache 16kB, 2-way, VIPT, cache aliases, linesize 16 bytes
Synthesized clear page handler (26 instructions).
Synthesized copy page handler (46 instructions).
PID hash table entries: 64 (order: 6, 256 bytes)
console handover: boot [early0] -> real [ttyS0]
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13668k/16384k available (1995k kernel code, 2716k reserved, 302k data, 128k init, 0k highmem)
Mount-cache hash table entries: 512
This appears to be something to do with an early console. Now with the patched prom.c all I get is :
Loading: .. 3768 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000
Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 13668k/16384k available (1995k kernel code, 2716k reserved, 302k data, 128k init, 0k )
Mount-cache hash table entries: 512
And of course, once it does come up, it immediately reboots when trying to load the b43 driver
I'm just working on this now. It appears the device reboots when it calls b43_write16(0x80829000, 0x03e6, 0x0000) as part of the b43_switch_analog() function in main.c
I also see USB is not working. If I load either EHCI or OHCI, I get zip activity on the USBus (checked with a protocol analyser) and hence it never finds any USB devices. That might be next weekend's task