changing PDA doesn't work

Max Grabert parisc at gmail.com
Sat Aug 27 13:57:43 EDT 2005


On 27/08/05, Henrik Brix Andersen <brix at gentoo.org> wrote:
> On Thu, 2005-08-25 at 07:06 +0100, Max Grabert wrote:
> > I followed the description how to proceed precisely, and as I also
> > use the same firmware there is basically no difference in the
> > commands being used.
> 
> I've just tested this procedure on my prism2.5 based card using firmware
> version 1.7.4 - works like it should here.
> 
> This is the changes I've made to the PDA to allow running my AP on
> channel 13:
> 
> --- pda.backup  2005-08-16 22:16:44.000000000 +0200
> +++ pda.ETSI    2005-08-16 22:41:16.000000000 +0200
> @@ -21,10 +21,10 @@
>  0200 376f 68fc
>  ; PDR 0x0103 data len=12 Regulatory Domain List
>  7 0103
> -0002 2010 0000 0000 0000 0000
> +0002 2030 0000 0000 0000 0000
>  ; PDR 0x0104 data len=2 Allowed Channel Set/Active Channel List
>  2 0104
> -07ff
> +1fff
>  ; PDR 0x0105 data len=2 Default Channel
>  2 0105
>  0003
> 
> Perhaps try posting the exact commands you're using?

1. prism2_srec -D wlan0 >pda
2. cp pda pda.orig
3. vi pda
   # (changing 0x0103, 0x0104 exactly as in your example above)
4. prism2_srec -v -r wlan0 prism2-firmware/primary/ak010101.hex
prism2-firmware/1.7.4/rf010704.hex -P pda
5. prism2_srec -D wlan0 >pda-mod_ram
6. diff pda-mod_ram pda.orig
   # shows no differences
7. prism2_srec -v -f wlan0 prism2-firmware/primary/pk010101.hex
prism2-firmware/1.7.4/sf010704.hex -P pda
8. prism2_srec -D wlan0 >pda-mod_flash
9. diff pda-mod_flash pda.orig
   # shows no differences
10. reboot
11. step 8 and 9 again, just to make sure; no difference


Here the output of the command in step #7:

=== snip ===
S3 CRC-16 generation record: start=0x007E17FE len=2 prog=0
Start address 0x00000000
srec summary for pk010101.hex
Component: 0x0015 1.1.1 (primary firmware)
Supported platforms:
  0x800c 1.0.0,  0x8013 1.0.0,  0x8017 1.0.0,  0x801b 1.0.0,  0x8022 1.0.0
Interface compatibility information:
  role=Supplier variant=1 range=4-4 iface=Primary Firmware-Driver (3)
  role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
Separate S3 data areas:
S3 area count: 3
  addr=0x007E0000..0x007E0B55 (len=2902)
  addr=0x007E0C00..0x007E151F (len=2336)
  addr=0x007E17FE..0x007E17FF (len=2)
Total data length: 5240
Start address 0x00000000

S3 CRC-16 generation record: start=0x007E1800 len=65414 prog=1
Start address 0x00000000
srec summary for sf010704.hex
Component: 0x001f 1.7.4 (station firmware)
Supported platforms:
  0x800a 1.0.0,  0x800b 1.0.0,  0x800c 1.0.0,  0x800d 1.0.0,  0x8012 1.0.0
  0x8013 1.0.0,  0x8014 1.0.0,  0x8016 1.0.0,  0x8017 1.0.0,  0x8018 1.0.0
  0x801a 1.0.0,  0x801b 1.0.0,  0x801c 1.0.0,  0x8021 1.0.0,  0x8022 1.0.0
  0x8023 1.0.0
Interface compatibility information:
  role=Supplier variant=4 range=1-12 iface=Station Firmware-Driver (4)
  role=Actor    variant=1 range=1-1 iface=Modem-Firmware (1)
  role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
  role=Actor    variant=1 range=4-4 iface=Primary Firmware-Driver (3)
Separate S3 data areas:
S3 area count: 3
  addr=0x007E1800..0x007EE2DB (len=51932)
  addr=0x007F0800..0x007F1785 (len=3974)
  addr=0x007FE000..0x007FECC5 (len=3270)
Total data length: 59176
Start address 0x00000000

Updating PDA checksum to match with data (d330 -> c13b).
Overriding component id and supplied range data using PDA.
Wireless LAN card information:
Components:
  NICID: 0x8013 v1.0.0
  PRIID: 0x0015 v1.1.1
  STAID: 0x001f v1.7.4
Interface compatibility information:
  PRI role=Supplier variant=1 range=1-1 iface=Modem-Firmware (1)
  PRI role=Supplier variant=2 range=1-1 iface=Controller-Firmware (2)
  PRI role=Supplier variant=1 range=4-4 iface=Primary Firmware-Driver (3)
  STA role=Supplier variant=1 range=1-12 iface=Station Firmware-Driver (4)
  PRI role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
  STA role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
  STA role=Actor    variant=1 range=1-1 iface=Modem-Firmware (1)

Verifying update compatibility and combining data:
Plugging PDR 0xffffffff at 0x007e1510 (len=14)
Plugging PDR 0x0003 at 0x007e14b8 (len=12)
PDR 0x0003 not found from wlan card PDA. Using default data.
  len=12: 39 39 53 41 30 31 30 30 30 30 30 30
Plugging PDR 0x0005 at 0x007e1310 (len=2)
PDR 0x0005 not found from wlan card PDA. Using default data.
  len=2: 00 01
Plugging PDR 0x0006 at 0x007e14f0 (len=10)
Plugging PDR 0x0007 at 0x007e1504 (len=10)
Plugging PDR 0x0008 at 0x007e14c4 (len=8)
Plugging PDR 0x0400 at 0x007e1314 (len=2)
Plugging PDR 0x0402 at 0x007e131e (len=4)
Plugging PDR 0x0403 at 0x007e1316 (len=16)
Plugging PDR 0x0404 at 0x007e1326 (len=10)
Plugging PDR 0x0408 at 0x007e1312 (len=2)
PDR 0x0408 not found from wlan card PDA. Using default data.
  len=2: 64 00
Plugging PDR 0x0001 at 0x007e14cc (len=16)
Plug record length mismatch (PDR=0x0001): 12 != 16
==> extend from default
PRI: old iface 1:4-4 new iface 1:4-4
Plugging PDR 0xffffffff at 0x007ede00 (len=14)
Plugging PDR 0x0202 at 0x007f11ee (len=100)
Plugging PDR 0x0203 at 0x007f1252 (len=128)
Plugging PDR 0x0204 at 0x007f13d2 (len=80)
Plugging PDR 0x0405 at 0x007f1422 (len=4)
PDR 0x0405 not found from wlan card PDA. Using default data.
  len=4: 00 00 00 30
Plugging PDR 0x0300 at 0x007f1426 (len=28)
Plugging PDR 0x0301 at 0x007f1442 (len=34)
Plugging PDR 0x0101 at 0x007f163a (len=6)
Plugging PDR 0x0103 at 0x007eddc2 (len=12)
Plugging PDR 0x0104 at 0x007edef8 (len=2)
Plugging PDR 0x0105 at 0x007f1646 (len=2)
Plugging PDR 0x0105 at 0x007edf2e (len=2)
Plugging PDR 0x0105 at 0x007f1742 (len=2)
Plugging PDR 0x0107 at 0x007eddd0 (len=2)
Plugging PDR 0x0006 at 0x007edd9c (len=10)
Plugging PDR 0x0406 at 0x007f16da (len=2)
PDR 0x0406 not found from wlan card PDA. Using default data.
  len=2: 64 00
Plugging PDR 0x0302 at 0x007f146a (len=2)
PDR 0x0302 not found from wlan card PDA. Using default data.
  len=2: 12 00
Plugging PDR 0x0303 at 0x007f146c (len=2)
PDR 0x0303 not found from wlan card PDA. Using default data.
  len=2: ff 1f
Plugging PDR 0x0412 at 0x007edf50 (len=6)
PDR 0x0412 not found from wlan card PDA. Using default data.
  len=6: ff ff 02 00 02 00
Generating CRC-16 (start=0x007e1800, len=65414) at 0x007e17fe
Allowing S3 overlap due to CRC-16 signature at 0x007e17fe (was: ffff)
After srec file merge
S3 area count: 5
  addr=0x007E0000..0x007E0B55 (len=2902)
  addr=0x007E0C00..0x007E151F (len=2336)
  addr=0x007E17FE..0x007EE2DB (len=51934)
  addr=0x007F0800..0x007F1785 (len=3974)
  addr=0x007FE000..0x007FECC5 (len=3270)
Total data length: 64416
OK.

Downloading to non-volatile memory (flash).
Note! This can take about 30 seconds. Do _not_ remove card during download.
OK.
Components after download:
  NICID: 0x8013 v1.0.0
  PRIID: 0x0015 v1.1.1
  STAID: 0x001f v1.7.4
=== snip ===


All this is kinda confusing, as RAM-download and flashing works
perfectly otherwise, it just doesn't change the PDA as it should.
I guess if I'm going to put the card into an Intel-based Linux box
changing PDA will work as expected; gonna try that in a
couple of days.

Thanks,
   Max



More information about the HostAP mailing list