[Prism54-devel] Firmware built-in debugger ?

Jean-Baptiste Note jean-baptiste.note at wanadoo.fr
Sun Apr 17 20:31:26 UTC 2005


Hello Sebastien, dear list,

> I've just noticed another thing. The firmwares all contain the string 
> "LMAC > " surrounded by ANSI escape characters coding for "highlight" (this 
> string is sometimes a bit messed up by the firmware compression). This is 
> very similar to the "rom > " prompt of the GW3887. The format, and the escape 
> characters are exactly the same. Probably, the protocol will then be 
> text-based (like that of the GW3887 ROM), and that's what strings like 
> "normal0", "disabling", "possible" "stop timeout", "tx_active",.... are for 
> (there are longer and more explicit ones, but they are made almost unreadable 
> by the compression), since they are never part of the USB nor 802.11 protocol 
> as far as I know.

I call bingo ! this would be _grand_.

Now have a look at the XH driver. Can you see those IRQ lines regarding
PCIUART ? How much do you bet that we can hook up into the debugger for
pci devices too with a standard serial protocol ?

Those guys at prism rocks as far as engeneering is concerned. Too bad
they close the specs.

Ah, yes, given the habits of embedded development, i'd recommend having
a look at gdb stubs for the ARM arcitecture. I'd guess that they had a
"directly use gdb through the serial line" mode, hopefully in a very
standard way. Which would be cool. And i think this mode is triggered by
bogus data.

> So I'll try to deliberately send bogus data to the device, and then look what 
> there is in those oversized frames. The LMAC debugger is certainly 
> interesting :)

Not too hard, just send an approximately formatted thing, and it'll put
you right into what i guess is "segfault mode", and i guess you can send
the received data quasi-directly to an arm gdb.

> To know what to send, we'll probably need to uncompress the firmware and look 
> at strings... I think the easiest way to do this is to run the firmware in a 
> ARM emulator and then stop it and examine the memory once it has 
> self-extracted. Unless someone guesses what the compression algorithm is...

zlib for compression ?

> PS: firmware 2.13.1.0 is that of the new Gigaset 54 driver, download from the 
> Siemens website.

Okay, one day i'll implement firmware parsing, so that we can sort out
first generation usb / second generation usb / softmac pci / fullmac pci
firmwares easily. Version numbers are starting not to be enough.

JB

-- 
Jean-Baptiste Note
+33 (0)6 83 03 42 38
jean-baptiste.note at wanadoo.fr


More information about the Prism54-devel mailing list