I was interested in modifying some parameters for a miniPCI card and a PCI card in an attempt to increase transmit power and gain, turn on the second antenna on the minipci card and anthing else that would improve performance but before flashing I thought I'd verify the changes and make sure I had my setting right but instead I'm shocked.

So, either the app is displaying the wrong data or the wrong data is being modified so rather than being destructive and bricking a card I thought I'd ask the masters.

Something that interest me is that the N-PHY cards have 3 antennas and according to Buffalo Technology Technical support the characteristics for all 3 antennas are configurable in the sprom which is supposed to include an option for the middle antenna to be in regular or diversity mode.

Is there a table somewhere that decodes the sprom and denotes what each bit represents in a combined byte?


The source used in the ssb-sprom app was taken at 1:15am EST June 17th so it was the latest available from git 24 hours ago.



Here's my session and it's clear that something is wrong: (two examples given, due to size I didn't provide all the tests, had issues adjusting gain)

75XBX2KR:ssb-sprom admin$ ssb-sprom -i minipci_sprom -o minipci_new_sprom --antga 0x88 -V
Broadcom-SSB SPROM data modification tool version 001

Reading input from "minipci_sprom"...
Raw input: 014000005304E41420430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF 1600C6383B71FFFFFFFFFFFFFFFFFFFFFFFFFFFF3430281597FAACFEFFFFFFFF4C00FFFF FFFFFFFF3E00490A02FF000010FFFFFFFFFF02FF Raw output: 014000005304E41420430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF 1600C6383B71FFFFFFFFFFFFFFFFFFFFFFFFFFFF3430281597FAACFEFFFFFFFF4C00FFFF FFFFFFFF3E00490A88FF000010FFFFFFFFFF02C4
SPROM modified.
D975XBX2KR:ssb-sprom admin$ ssb-sprom -i minipci_sprom -P;ssb-sprom - i minipci_new_sprom -P
SPROM(0x04, Subsytem product ID) = 0x0453
SPROM(0x06, Subsystem vendor ID) = 0x14E4
SPROM(0x08, PCI Product ID) = 0x4320
SPROM(0x38, High 16 bits of Boardflags) = 0x0000
SPROM(0x72, Low 16 bits of Boardflags) = 0x0A49
SPROM(0x48, MAC address for 802.11b/g) = 00:16:38:c6:71:3b
SPROM(0x4E, MAC address for ethernet) = ff:ff:ff:ff:ff:ff
SPROM(0x54, MAC address for 802.11a) = ff:ff:ff:ff:ff:ff
SPROM(0x5A, Ethernet phy settings (0)) = 0x1F
SPROM(0x5A, Ethernet phy settings (1)) = 0x1F
SPROM(0x5B, et0mdcport) = ON
SPROM(0x5B, et1mdcport) = ON
SPROM(0x5C, Board revision) = 0x34
SPROM(0x5C, Locale / Country Code) = 0x0
SPROM(0x5C, B/G PHY antenna 0 available) = OFF
SPROM(0x5C, B/G PHY antenna 1 available) = ON
SPROM(0x5C, A PHY antenna 0 available) = OFF
SPROM(0x5C, A PHY antenna 1 available) = OFF
SPROM(0x74, B/G PHY antenna gain) = 0x02
SPROM(0x75, A PHY antenna gain) = 0x00
SPROM(0x5E, pa0b0) = 0x1528
SPROM(0x60, pa0b1) = 0xFA97
SPROM(0x62, pa0b2) = 0xFEAC
SPROM(0x6A, pa1b0) = 0xFFFF
SPROM(0x6C, pa1b1) = 0xFFFF
SPROM(0x6E, pa1b2) = 0xFFFF
SPROM(0x64, LED 0 behaviour) = 0xFF
SPROM(0x65, LED 1 behaviour) = 0xFF
SPROM(0x66, LED 2 behaviour) = 0xFF
SPROM(0x67, LED 3 behaviour) = 0xFF
SPROM(0x68, B/G PHY max powerout) = 0x4C
SPROM(0x69, A PHY max powerout) = 0x00
SPROM(0x70, B/G PHY idle TSSI target) = 0x3E
SPROM(0x71, A PHY idle TSSI target) = 0x00
SPROM(0x7E, SPROM version) = 0x02
SPROM(0x04, Subsytem product ID) = 0x0453
SPROM(0x06, Subsystem vendor ID) = 0x14E4
SPROM(0x08, PCI Product ID) = 0x4320
SPROM(0x38, High 16 bits of Boardflags) = 0x0000
SPROM(0x72, Low 16 bits of Boardflags) = 0x0A49
SPROM(0x48, MAC address for 802.11b/g) = 00:16:38:c6:71:3b
SPROM(0x4E, MAC address for ethernet) = ff:ff:ff:ff:ff:ff
SPROM(0x54, MAC address for 802.11a) = ff:ff:ff:ff:ff:ff
SPROM(0x5A, Ethernet phy settings (0)) = 0x1F
SPROM(0x5A, Ethernet phy settings (1)) = 0x1F
SPROM(0x5B, et0mdcport) = ON
SPROM(0x5B, et1mdcport) = ON
SPROM(0x5C, Board revision) = 0x34
SPROM(0x5C, Locale / Country Code) = 0x0
SPROM(0x5C, B/G PHY antenna 0 available) = OFF
SPROM(0x5C, B/G PHY antenna 1 available) = ON
SPROM(0x5C, A PHY antenna 0 available) = OFF
SPROM(0x5C, A PHY antenna 1 available) = OFF
SPROM(0x74, B/G PHY antenna gain) = 0x88
SPROM(0x75, A PHY antenna gain) = 0x00
SPROM(0x5E, pa0b0) = 0x1528
SPROM(0x60, pa0b1) = 0xFA97
SPROM(0x62, pa0b2) = 0xFEAC
SPROM(0x6A, pa1b0) = 0xFFFF
SPROM(0x6C, pa1b1) = 0xFFFF
SPROM(0x6E, pa1b2) = 0xFFFF
SPROM(0x64, LED 0 behaviour) = 0xFF
SPROM(0x65, LED 1 behaviour) = 0xFF
SPROM(0x66, LED 2 behaviour) = 0xFF
SPROM(0x67, LED 3 behaviour) = 0xFF
SPROM(0x68, B/G PHY max powerout) = 0x4C
SPROM(0x69, A PHY max powerout) = 0x00
SPROM(0x70, B/G PHY idle TSSI target) = 0x3E
SPROM(0x71, A PHY idle TSSI target) = 0x00
SPROM(0x7E, SPROM version) = 0x02
D975XBX2KR:ssb-sprom admin$ ssb-sprom -i minipci_sprom -o minipci_new_sprom --antgbg 0x88 -V
Broadcom-SSB SPROM data modification tool version 001

Reading input from "minipci_sprom"...
Raw input: 014000005304E41420430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF 1600C6383B71FFFFFFFFFFFFFFFFFFFFFFFFFFFF3430281597FAACFEFFFFFFFF4C00FFFF FFFFFFFF3E00490A02FF000010FFFFFFFFFF02FF Raw output: 014000005304E41420430080020002000010001800000000FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFF 1600C6383B71FFFFFFFFFFFFFFFFFFFFFFFFFFFF3430281597FAACFEFFFFFFFF4C00FFFF FFFFFFFF3E00490A0288000010FFFFFFFFFF029A
SPROM modified.
D975XBX2KR:ssb-sprom admin$ ssb-sprom -i minipci_sprom -P;ssb-sprom - i minipci_new_sprom -P
SPROM(0x04, Subsytem product ID) = 0x0453
SPROM(0x06, Subsystem vendor ID) = 0x14E4
SPROM(0x08, PCI Product ID) = 0x4320
SPROM(0x38, High 16 bits of Boardflags) = 0x0000
SPROM(0x72, Low 16 bits of Boardflags) = 0x0A49
SPROM(0x48, MAC address for 802.11b/g) = 00:16:38:c6:71:3b
SPROM(0x4E, MAC address for ethernet) = ff:ff:ff:ff:ff:ff
SPROM(0x54, MAC address for 802.11a) = ff:ff:ff:ff:ff:ff
SPROM(0x5A, Ethernet phy settings (0)) = 0x1F
SPROM(0x5A, Ethernet phy settings (1)) = 0x1F
SPROM(0x5B, et0mdcport) = ON
SPROM(0x5B, et1mdcport) = ON
SPROM(0x5C, Board revision) = 0x34
SPROM(0x5C, Locale / Country Code) = 0x0
SPROM(0x5C, B/G PHY antenna 0 available) = OFF
SPROM(0x5C, B/G PHY antenna 1 available) = ON
SPROM(0x5C, A PHY antenna 0 available) = OFF
SPROM(0x5C, A PHY antenna 1 available) = OFF
SPROM(0x74, B/G PHY antenna gain) = 0x02
SPROM(0x75, A PHY antenna gain) = 0x00
SPROM(0x5E, pa0b0) = 0x1528
SPROM(0x60, pa0b1) = 0xFA97
SPROM(0x62, pa0b2) = 0xFEAC
SPROM(0x6A, pa1b0) = 0xFFFF
SPROM(0x6C, pa1b1) = 0xFFFF
SPROM(0x6E, pa1b2) = 0xFFFF
SPROM(0x64, LED 0 behaviour) = 0xFF
SPROM(0x65, LED 1 behaviour) = 0xFF
SPROM(0x66, LED 2 behaviour) = 0xFF
SPROM(0x67, LED 3 behaviour) = 0xFF
SPROM(0x68, B/G PHY max powerout) = 0x4C
SPROM(0x69, A PHY max powerout) = 0x00
SPROM(0x70, B/G PHY idle TSSI target) = 0x3E
SPROM(0x71, A PHY idle TSSI target) = 0x00
SPROM(0x7E, SPROM version) = 0x02
SPROM(0x04, Subsytem product ID) = 0x0453
SPROM(0x06, Subsystem vendor ID) = 0x14E4
SPROM(0x08, PCI Product ID) = 0x4320
SPROM(0x38, High 16 bits of Boardflags) = 0x0000
SPROM(0x72, Low 16 bits of Boardflags) = 0x0A49
SPROM(0x48, MAC address for 802.11b/g) = 00:16:38:c6:71:3b
SPROM(0x4E, MAC address for ethernet) = ff:ff:ff:ff:ff:ff
SPROM(0x54, MAC address for 802.11a) = ff:ff:ff:ff:ff:ff
SPROM(0x5A, Ethernet phy settings (0)) = 0x1F
SPROM(0x5A, Ethernet phy settings (1)) = 0x1F
SPROM(0x5B, et0mdcport) = ON
SPROM(0x5B, et1mdcport) = ON
SPROM(0x5C, Board revision) = 0x34
SPROM(0x5C, Locale / Country Code) = 0x0
SPROM(0x5C, B/G PHY antenna 0 available) = OFF
SPROM(0x5C, B/G PHY antenna 1 available) = ON
SPROM(0x5C, A PHY antenna 0 available) = OFF
SPROM(0x5C, A PHY antenna 1 available) = OFF
SPROM(0x74, B/G PHY antenna gain) = 0x02
SPROM(0x75, A PHY antenna gain) = 0x00
SPROM(0x5E, pa0b0) = 0x1528
SPROM(0x60, pa0b1) = 0xFA97
SPROM(0x62, pa0b2) = 0xFEAC
SPROM(0x6A, pa1b0) = 0xFFFF
SPROM(0x6C, pa1b1) = 0xFFFF
SPROM(0x6E, pa1b2) = 0xFFFF
SPROM(0x64, LED 0 behaviour) = 0xFF
SPROM(0x65, LED 1 behaviour) = 0xFF
SPROM(0x66, LED 2 behaviour) = 0xFF
SPROM(0x67, LED 3 behaviour) = 0xFF
SPROM(0x68, B/G PHY max powerout) = 0x4C
SPROM(0x69, A PHY max powerout) = 0x00
SPROM(0x70, B/G PHY idle TSSI target) = 0x3E
SPROM(0x71, A PHY idle TSSI target) = 0x00
SPROM(0x7E, SPROM version) = 0x02
D975XBX2KR:ssb-sprom admin$

-- Dale



Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to