Guest BuildSmart Posted June 9, 2008 Share Posted June 9, 2008 I looked at the posts about fixing the dell / hp wireless cards and thought wouldn't it be nice to use the same approach for broadcom 54g cards and turning them into Airport Extreme cards but all that work using bcm43xx was far too taxing on my nerves so I looked for a simpler and easier solution and I found it. I didn't have an Airport card to obtain the firmware from so my alternative was to use the cards existing firmware and modify the ID's so that it would be recognized properly. I also didn't have a laptop which used the miniPCI card but I did have a PCI to miniPCI adapter and figured this was just as good. Currently the only restriction is the broadcom chipsets and ID's that are currently supported, as time progresses this will expand to include some of the faster (11n) cards. __________________________________________________________________ Required tools. __________________________________________________________________ Ubuntu 8.04 (hardy-heron) <-- easy install b43-fwcutter sudo apt-get install b43-fwcutter ssb-sprom wget http://linuxwireless.org/download/bcm43xx/sprom/bcm43xx-sprom.tar.bz2 tar xjf bcm43xx-sprom.tar.bz2 cd bcm43xx-sprom make sudo cp ssb-sprom /usr/bin/ sudo chmod 0755 /usr/sbin/ssb-sprom sudo chown root:wheel /usr/sbin/ssb-sprom __________________________________________________________________ Details from "terminal session". __________________________________________________________________ dale@D975XBX2KR:~$ sudo find /sys/devices |grep \*sprom\* /sys/devices/pci0000:00/0000:00:1e.0/0000:04:02.0/ssb_sprom dale@D975XBX2KR:~$ sudo su Password: root@D975XBX2KR:/home/dale# cp /sys/devices/pci0000:00/0000:00:1e.0/0000:04:02.0/ssb_sprom /home/dale/Desktop/original_sprom root@D975XBX2KR:/home/dale# ssb-sprom -i Desktop/original_sprom -P SPROM(0x04, Subsytem product ID) = 0x12FA SPROM(0x06, Subsystem vendor ID) = 0x103C 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(0x5D, Locale / Country Code) = 0x0 SPROM(0x5D, A PHY antenna 0 available) = ON SPROM(0x5D, A PHY antenna 1 available) = ON SPROM(0x5D, B/G PHY antenna 1 available) = OFF SPROM(0x5D, B/G PHY antenna 1 available) = OFF SPROM(0x74, A PHY antenna gain) = 0x02 SPROM(0x75, A PHY antenna gain) = 0xFF 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, A PHY max powerout) = 0x4C SPROM(0x69, B/G PHY max powerout) = 0x00 SPROM(0x70, A PHY idle TSSI target) = 0x3E SPROM(0x71, B/G PHY idle TSSI target) = 0x00 SPROM(0x7E, SPROM version) = 0x02 root@D975XBX2KR:/home/dale# ssb-sprom -i Desktop/original_sprom --subv 0x106b --subp 0x004E -o Desktop/new_sprom root@D975XBX2KR:/home/dale# ssb-sprom -i Desktop/new_sprom -P SPROM(0x04, Subsytem product ID) = 0x004E SPROM(0x06, Subsystem vendor ID) = 0x106B 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(0x5D, Locale / Country Code) = 0x0 SPROM(0x5D, A PHY antenna 0 available) = ON SPROM(0x5D, A PHY antenna 1 available) = ON SPROM(0x5D, B/G PHY antenna 1 available) = OFF SPROM(0x5D, B/G PHY antenna 1 available) = OFF SPROM(0x74, A PHY antenna gain) = 0x02 SPROM(0x75, A PHY antenna gain) = 0xFF 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, A PHY max powerout) = 0x4C SPROM(0x69, B/G PHY max powerout) = 0x00 SPROM(0x70, A PHY idle TSSI target) = 0x3E SPROM(0x71, B/G PHY idle TSSI target) = 0x00 SPROM(0x7E, SPROM version) = 0x02 root@D975XBX2KR:/home/dale# cd /sys/devices/pci0000:00/0000:00:1e.0/0000:04:02.0 root@D975XBX2KR:/sys/devices/pci0000:00/0000:00:1e.0/0000:04:02.0# cp /home/dale/Desktop/new_sprom ./ssb_sprom __________________________________________________________________ Details from "ioreg -lw0". (Mac OS X) __________________________________________________________________ | | | +-o pci14e4,4320@2 <class IOPCIDevice, registered, matched, active, busy 0, retain 9> | | | | { | | | | "IOPCIResourced" = Yes | | | | "IOInterruptControllers" = ("io-apic-0") | | | | "IOName" = "pci14e4,4320" | | | | "subsystem-id" = <4E000000> | | | | "IODeviceMemory" = (({"address"=18446744073172697088,"length"=8192})) | | | | "class-code" = <00800200> | | | | "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2} | | | | "revision-id" = <03000000> | | | | "IOInterruptSpecifiers" = (<1200000007000000>) | | | | "IOChildIndex" = 2 | | | | "assigned-addresses" = <1010048200000000004000e00000000000200000> | | | | "device-id" = <20430000> | | | | "vendor-id" = <e4140000> | | | | "name" = "pci14e4,4320" | | | | "subsystem-vendor-id" = <6b100000> | | | | "reg" = <0010040000000000000000000000000000000000101004020000000000000000000000000020 000> | | | | "compatible" = <"pci106b,4e","pci14e4,4320","pciclass,028000"> | | | | } | | | | | | | +-o AirPort_Brcm43xx <class AirPort_Brcm43xx, registered, matched, active, busy 0, retain 8> | | | | { | | | | "APCurrentChannel" = 6 | | | | "APCurrentSSID" = "Apple Network 7885c7" | | | | "IOSelectedMedium" = "00000080" | | | | "CFBundleIdentifier" = "com.apple.driver.AirPortBrcm43xx" | | | | "IOVendor" = "Apple" | | | | "IOMatchCategory" = "IODefaultMatchCategory" | | | | "APChipRev" = 3 | | | | "APMonitorMode" = No | | | | "IOFeatures" = 8 | | | | "IOMaxPacketSize" = 1518 | | | | "IOMinPacketSize" = 64 | | | | "IOMediumDictionary" = {"00000080"={"Type"=128,"Index"=0,"Flags"=0,"Speed"=11000000}} | | | | "IONameMatched" = "pci14e4,4320" | | | | "IOActiveMedium" = "00000080" | | | | "IONameMatch" = ("pci106b,4e","pci14e4,4311","pci14e4,4312","pci14e4,4313","pci14e4,4318","pci14e4,4319","pci14e4,431a","pci14e4,4320","pci14e4,4324","pci14e4,4325","pci14e4,4328","pci14e4,432b","pci14e4,432c","pci14e4,432d") | | | | "IOModel" = "Wireless Network Adapter (802.11 b/g)" | | | | "IOProbeScore" = 2 | | | | "IOFirmwareVersion" = "Broadcom BCM43xx 1.0 (4.170.46.5)" | | | | "APFeatures" = 1 | | | | "IOBusyInterest" = "IOCommand is not serializable" | | | | "IOLinkSpeed" = 54000000 | | | | "IOPowerManagement" = {"CurrentPowerState"=2} | | | | "IOPacketFilters" = {"IONetworkFilterGroup"=275,"IOEthernetWakeOnLANFilterGroup"=0} | | | | "IOMACAddress" = <001638c6713b> | | | | "IOProviderClass" = "IOPCIDevice" | | | | "IOLinkStatus" = 3 | | | | "APRoamTrigger" = 18446744073709551525 | | | | "IOGeneralInterest" = "IOCommand is not serializable" | | | | "IOLocale" = "USA" | | | | "IOClass" = "AirPort_Brcm43xx" | | | | } | | | | | | | +-o AirPort_Brcm43xxInterface <class AirPort_Brcm43xxInterface, registered, matched, active, busy 0, retain 10> | | | | { | | | | "IOInterfaceType" = 6 | | | | "IONetworkData" = {"IOEthernetStatsKey"={"Size"=216,"Data"=<0000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000>,"Access Types"=9},"IONetworkStatsKey"={"Size"=20,"Data"=<5b000000000000008d0000000000000000000000>,"Access Types"=9},"IOOutputQueueStatsKey"={"Size"=44,"Data"=<000100000000000000000000000000008b000000000000000000000000000000000000000000 00000000000>,"Access Types"=9}} | | | | "IO80211SSID" = "Apple Network 7885c7" | | | | "IOLocation" = "" | | | | "IOMulticastAddressList" = <01005e0000fb01005e0000013333000000fb333390156bf83333000000013333ffc6713b0103 3df0b92> | | | | "IOInterfaceNamePrefix" = "en" | | | | "IOActivePacketFilters" = {"IONetworkFilterGroup"=19,"IOEthernetWakeOnLANFilterGroup"=0} | | | | "IO80211Channel" = 6 | | | | "IOMediaHeaderLength" = 14 | | | | "IOMediaAddressLength" = 6 | | | | "IO80211Locale" = "FCC" | | | | "IOPrimaryInterface" = No | | | | "IOInterfaceFlags" = 34915 | | | | "IORequiredPacketFilters" = {"IONetworkFilterGroup"=19,"IOEthernetWakeOnLANFilterGroup"=0} | | | | "IOInterfaceExtraFlags" = 1073744192 | | | | "IOInterfaceUnit" = 1 | | | | "IO80211DriverVersion" = "Broadcom BCM43xx 1.0 (4.170.46.5)" | | | | "IO80211CountryCode" = "US" | | | | "BSD Name" = "en1" | | | | "IOMaxTransferUnit" = 1500 | | | | "IOBuiltin" = No | | | | "IOInterfaceState" = 3 | | | | "IO80211Band" = "2 GHz" | | | | "IO80211HardwareVersion" = "vendorid: 0x14e4 deviceid: 0x4320 radiorev: 0x22050000 chipnum: 0x4306 chiprev: 0x3 corerev: 0x5 boardid: 0x4e boardvendor: 0x106b boardrev: 0x34 driverrev: 0x4aa2e05 ucoderev: 0x0 bus: 0x1 " | | | | "IOControllerEnabled" = Yes | | | | } | | | | | | | +-o IONetworkStack <class IONetworkStack, registered, matched, active, busy 0, retain 11> | | | | { | | | | "IOProviderClass" = "IOResources" | | | | "IOMatchCategory" = "IONetworkStack" | | | | "IOProbeScore" = 0 | | | | "IOClass" = "IONetworkStack" | | | | "CFBundleIdentifier" = "com.apple.iokit.IONetworkingFamily" | | | | "IOResourceMatch" = "IOBSD" | | | | } | | | | | | | +-o IONetworkStackUserClient <class IONetworkStackUserClient, !registered, !matched, active, busy 0, retain 5> | | | { | | | } __________________________________________________________________ Details from "System Profiler". __________________________________________________________________ AirPort: Type: AirPort Hardware: AirPort BSD Device Name: en1 IPv4 Addresses: 192.168.1.102 IPv4: Addresses: 192.168.1.102 Configuration Method: DHCP Interface Name: en1 NetworkSignature: IPv4.Router=192.168.1.1;IPv4.RouterHardwareAddress=00:0f:66:ab:ea:55 Router: 192.168.1.1 Subnet Masks: 255.255.255.0 IPv6: Configuration Method: Automatic DNS: Server Addresses: 65.32.1.65, 65.32.1.70 DHCP Server Responses: Domain Name Servers: 65.32.1.65,65.32.1.70 Lease Duration (seconds): 0 DHCP Message Type: 0x05 Routers: 192.168.1.1 Server Identifier: 192.168.1.1 Subnet Mask: 255.255.255.0 Proxies: Exceptions List: *.local, 169.254/16 FTP Passive Mode: Yes Ethernet: MAC Address: 00:16:38:c6:71:3b Media Options: Media Subtype: Auto Select Well now that this proved to be a success I thought I'd try doing the same with a LinkSYS WMP54GS (it's Broadcom chipset based) this afternoon since I had time on my hands. I figured that I'd use the same ID's even though the card was a regular PCI slot card and uses the BCM4306 chip but if I came across a BCM4318 chipped card I would use "0x4318 / 0x106b / 0x4318" productid, subsys_vendor and subsys_product since it would more closely match the actual hardware. Worked like a charm, now the LinkSYS WMP54GS PCI card thinks it's an Airport Extreme. I used the same firmware file on the card since it was a lot newer than what came in the LinkSYS card and I've attached it so you can just copy the file over. I will make one recommendation, cd to the directory containg the ssb_sprom file (copying with : in the path names sometimes causes problems). I've attached the firmware file for both BCM4306 and BCM4318 cards and the ssb-sprom app, just copy ssb-sprom to /usr/sbin in your ubuntu-hardy installation and you should be good to go. The card will still continue to function and work in Linux and Windows. For Windows you may need to edit the bcmwl5.inf file, this requires changing the "&SUBSYS_xxxxxxxx" ID to "&SUBSYS_004E106B" and commenting out the "CatalogFile" line and that should be the only thing required to make the card work again in Windows. I've included the basic linux tools for Mac OS X (Intel) so you can poke around without loading a Live CD or installing Linux. The following attachment includes the following files: broadcom.tar.gz: bcm4306_sprombcm4318_spromssb-sprom bcm43xx-tools:(Installer) /usr/bin/b43-asm/usr/bin/b43-asm.bin/usr/bin/b43-dasm/usr/bin/b43-fwcutter/usr/bin/b43-fwcutterdf/usr/bin/bcm43xx-fwcutter/usr/bin/bcm43xx-ival/usr/bin/bcm43xx-sprom/usr/bin/sprommod.sh/usr/bin/ssb-sprom/usr/share/man/man1/b43-fwcutter.1/usr/share/man/man1/bcm43xx-fwcutter.1 NOTES: The ssb-sprom application is an Mac intel 10.5.x application that is executed from within the terminal application. The two example sprom files are for you to examine and familiarize your self with the ssb-sprom application, flashing these files to your cards is not recommended, if you do so then all cards flashed with these sprom files will contain the same MAC address which will cause network problems. The ssb-sprom application only currentlys work on the 11a/b/g Broadcom based wireless cards and adapters due to the lack of N-PHY reverse engineering but the linux development group is working on resolving this issue. I do have a modified version of the ssb-sprom application that has the ability to modify the sprom data found on the 11n Broadcom cards and adapters but until the linux development group is able to natively support the card it will not be possible to read or write the sprom data to these cards using the linux method. If performing this task is scary or you wish to risk bricking your card I would be more than happy to perform the flash for you for a fee of $7.95. I have the ability to perform this process on the following Broadcom cards and adapters at this time: miniPCI: bcm4306bcm4309bcm4311bcm4318bcm4321 (11n) PCI: (at this time I have not found a card I can't repgrogram) WMP54GS (LinkSYS)WMP54G (LinkSYS Broadcom version)WMP300G (LinkSYS 11n)WLI-PCI-G300N (Buffalo Technology 11n)Dynex (all Broadcom based adapters)EDUP (PCI - miniPCI w/Broadcom miniPCI card)TP-Link (all Broadcom based cards) PCIe (PCI-Express): I have only come accros 1 card so far in PCIe)[link]DW-556 (D-Link Broadcom version) miniPCIe: I currently do not have the ability to reprogram these cards due to the cost of the PCIe x1 to miniPCIe x1 adapter however should the demand justify the cost I will provide the service for these cards as well. I will be selling miniPCI and PCI adapters that will be available in 11g and 11n and each PCI adapter will be available for regular or low-profile cases. The miniPCI cards will be the 11g version until such time that I can find a mainland supplier of the adapters. Cost will depend on the card of choice and price ranges from $15.00 to $60.00 broadcom.tar.gz bcm43xx_tools.zip Link to comment Share on other sites More sharing options...
mifki Posted June 10, 2008 Share Posted June 10, 2008 Nice job BuildSmart Link to comment Share on other sites More sharing options...
f41qu3 Posted June 11, 2008 Share Posted June 11, 2008 Any trick to RTL 8187 Wireless? Thx 4 ur hard job. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted June 12, 2008 Share Posted June 12, 2008 Any trick to RTL 8187 Wireless? Thx 4 ur hard job. Yes, same as RTL8185L, I did one a couple months back, took software for the RTL8185L, made some edits to the info.plist. It was some tiny cheap Taiwan card that came with Mac drivers. I'm able to also re-ID the Atheros based cards although the solution is a self written Mac application, the option for a do-it-yourself is unavailable AFAIK cause I couldn't find a solution that worked or had any kind of reliability and the high risk of bricking a card isn't a pretty thought when the solution I did find had a terrible success rate. I'm in the midst of making a couple of plug'n'play broadcom wireless PCI cards that will be available with regular and low-profile (SFF) brackets. The 11g card will configured as an Airport Extreme 2 and the 11n will be configured identical to the apple 11n Broadcom card. Typical cost for the 11g card will be around $15.00 for miniPCI, around $30.00 for PCI and the 11n PCI card will be around $60.00 (less if I can make a larger than 100 peice production run - I'm OEM'ing the card to apple specifications but in PCI configuration) and I'm also having made a nice PCI to minPCI wireless adapter including antenna for $20.00 so you can make use of a miniPCI wifi card you already have. My goal/interest is to make an inexpensive wifi solution that will suit just about every need. Link to comment Share on other sites More sharing options...
rw3 Posted June 13, 2008 Share Posted June 13, 2008 So how do I run this in Terminal? Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted June 14, 2008 Share Posted June 14, 2008 So how do I run this in Terminal? The application I supplied allows you to examine and change the identification information of the sprom data file. ./ssb-sprom -i bcm4306_sprom -P; # View original file ./ssb-sprom -i bcm4306_sprom -P --subv 0x106b --subp 0x004e -o new_sprom; # change the subsys ID's ./ssb-sprom -i new_sprom -P; # View modified file NOTE: the ssb-sprom application modifies the disk file, it does not modify your card, the supplied sprom files are for examination and experimentation while you familiarize yourself with the ssb-sprom application, it is not recommended that you flash these files to your miniPCI card. You will also find that you are unable to do any of the 11n cards because linux does not yet have a native driver that allows writing the sprom on these cards due to the lack of reverse engineering of the N-PHY. Link to comment Share on other sites More sharing options...
BigPimpin Posted June 15, 2008 Share Posted June 15, 2008 I think he means an OSX Terminal window I could be wrong, but I doubt it. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted June 19, 2008 Share Posted June 19, 2008 I think he means an OSX Terminal window I could be wrong, but I doubt it. And I gave him the commands to change the ID's in the file but he has to first generate a file form his card, modify it then re-flash it back to the card. Link to comment Share on other sites More sharing options...
kilven Posted June 21, 2008 Share Posted June 21, 2008 Do you know if this process will work on a Broadcom 4301 chipset, which by the way I haven't got to work by editing the Info.plist, doing so results in a nasty kernel panic. ... Never mind, this card is terrible in all senses of the word. Can't hold a decent connection to anything in any OS. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted June 24, 2008 Share Posted June 24, 2008 Do you know if this process will work on a Broadcom 4301 chipset, which by the way I haven't got to work by editing the Info.plist, doing so results in a nasty kernel panic. ... Never mind, this card is terrible in all senses of the word. Can't hold a decent connection to anything in any OS. The BCM4301 requires more than just ID modification, you need to tweak the transmit and receive gains but the card has issues with WPA even after all that and is not a good choice for use unless you're desperate or it's an emergency backup in my opinion. Link to comment Share on other sites More sharing options...
BigPimpin Posted July 19, 2008 Share Posted July 19, 2008 Thanks for the procedure, BuildSmart! I finally got around to trying this on a BCM4306 miniPCI card I picked up on ebay for less than 10 USD. A very simple procedure* and it worked like a charm. I understand that Apple's vendor id is 0x106b, but what does device 0x004e correspond to in Apple's AirPort hardware lineup? Is that used for all their b/g adapters? * It was a simple procedure once I updated my Fedora 8 kernel to a version high enough to support the ssb driver. That part was a nightmare and took 2 days. Once done, however, the rest was a piece of cake. It would have been much easier to just use a LiveCD with a recent kernel already on it. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted July 20, 2008 Share Posted July 20, 2008 Thanks for the procedure, BuildSmart! I finally got around to trying this on a BCM4306 miniPCI card I picked up on ebay for less than 10 USD. A very simple procedure* and it worked like a charm. I understand that Apple's vendor id is 0x106b, but what does device 0x004e correspond to in Apple's AirPort hardware lineup? Is that used for all their b/g adapters? * It was a simple procedure once I updated my Fedora 8 kernel to a version high enough to support the ssb driver. That part was a nightmare and took 2 days. Once done, however, the rest was a piece of cake. It would have been much easier to just use a LiveCD with a recent kernel already on it. Really, I used a Ubuntu CD and did it without installing on any HD's. The ID's correspond to the chipset of the cards, 004e is for a b/g adapter. if you have a card that supports a/b/g then use 0087 (or is that 0086). Dell's DW1450/DW1470 were good candidates in miniPCI and DW1490 is the miniPCIe which I've had good luck with. Link to comment Share on other sites More sharing options...
Euthenics Posted July 20, 2008 Share Posted July 20, 2008 Will the miniPCI bcm4311 that you're selling work on a HP notebook for e.g 6510b? If so, how much does it cost? Thanks. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted July 22, 2008 Share Posted July 22, 2008 Will the miniPCI bcm4311 that you're selling work on a HP notebook for e.g 6510b?If so, how much does it cost? Thanks. Someone's selling the bcm4311 in this thread??? Link to comment Share on other sites More sharing options...
riws Posted August 11, 2008 Share Posted August 11, 2008 What are possible values for SPROM(0x5D, Locale / Country Code) = 0x0? For Worldwide. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 11, 2008 Share Posted August 11, 2008 What are possible values for SPROM(0x5D, Locale / Country Code) = 0x0? For Worldwide.If your asking here then you shouldn't mess with it, it's beyond your skill level and my patience to educate you on it. Link to comment Share on other sites More sharing options...
riws Posted August 11, 2008 Share Posted August 11, 2008 As always no real answer from you. Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 11, 2008 Share Posted August 11, 2008 As always no real answer from you.I'm sorry but I don't have time to educate anyone on anything, ask a real question, get a real answer, want to be educated, use google. Answer to your question: 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf Invalid values: 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3a 0x3b 0x3c 0x3d 0x3e 0x3f 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x4a 0x4b 0x4c 0x4d 0x4e 0x4f 0x50 0x51 0x52 0x53 0x54 0x55 0x56 0x57 0x58 0x59 0x5a 0x5b 0x5c 0x5d 0x5e 0x5f 0x60 0x61 0x62 0x63 0x64 0x65 0x66 0x67 0x68 0x69 0x6a 0x6b 0x6c 0x6d 0x6e 0x6f 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7a 0x7b 0x7c 0x7d 0x7e 0x7f 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x8a 0x8b 0x8c 0x8d 0x8e 0x8f 0x90 0x91 0x92 0x93 0x94 0x95 0x96 0x97 0x98 0x99 0x9a 0x9b 0x9c 0x9d 0x9e 0x9f 0xa0 0xa1 0xa2 0xa3 0xa4 0xa5 0xa6 0xa7 0xa8 0xa9 0xaa 0xab 0xac 0xad 0xae 0xaf 0xb0 0xb1 0xb2 0xb3 0xb4 0xb5 0xb6 0xb7 0xb8 0xb9 0xba 0xbb 0xbc 0xbd 0xbe 0xbf 0xc0 0xc1 0xc2 0xc3 0xc4 0xc5 0xc6 0xc7 0xc8 0xc9 0xca 0xcb 0xcc 0xcd 0xce 0xcf 0xd0 0xd1 0xd2 0xd3 0xd4 0xd5 0xd6 0xd7 0xd8 0xd9 0xda 0xdb 0xdc 0xdd 0xde 0xdf 0xe0 0xe1 0xe2 0xe3 0xe4 0xe5 0xe6 0xe7 0xe8 0xe9 0xea 0xeb 0xec 0xed 0xee 0xef 0xf0 0xf1 0xf2 0xf3 0xf4 0xf5 0xf6 0xf7 0xf8 0xf9 0xfa 0xfb 0xfc 0xfd 0xfe 0xff An explanation to the values can be found using google or reading the documentation. Link to comment Share on other sites More sharing options...
eberts Posted August 11, 2008 Share Posted August 11, 2008 Ok, got another question. What if I can't set the country code in my atheros based card (WG311T, 0013/168c)? I set the regdomain to different values (37 etsi1 for germany) but there's no chance to have os x setting the country code to 276 (DE). With madwifi it says it's been overridden manually by attaching country code to ath_pci. Did you find any way to do something similar in os x? (btw, subsystem is set to 0086 106b and pci class is set to 280 now, was 200 before) Cheers Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 11, 2008 Share Posted August 11, 2008 Ok, got another question. What if I can't set the country code in my atheros based card (WG311T, 0013/168c)? I set the regdomain to different values (37 etsi1 for germany) but there's no chance to have os x setting the country code to 276 (DE). With madwifi it says it's been overridden manually by attaching country code to ath_pci. Did you find any way to do something similar in os x?(btw, subsystem is set to 0086 106b and pci class is set to 280 now, was 200 before) Cheers There really is no reason you need to change the Locale/Country Code since the driver does compensate for it and setting the regdomain (Regulatory Domain) has little effect unless you need to make use of special channels. If your device does not support 802.11a/b/g you should not set it to 0x0086, an 802.11b/g device uses 0x004e The listings for Locale/Country Code are not the same as the regdomain, Locale is 0 to f, any value greater than f is invalid, looking at the info I think you want 9 or A, C would be Asia Pacific (so you understand that they are different from the regdomain which would be 0x276). I started with the madwifi tools in my search to improve a cards compatibility and performance but have since moved to a private OS X solution that allows me to do so much more to a card from a GUI because I am having cards made by Atheros as an OEM so I really can't be of any help with using the madwifi tools anymore and the private software is not available for public use. Link to comment Share on other sites More sharing options...
eberts Posted August 12, 2008 Share Posted August 12, 2008 Thanks for your info. But regdomain should be 0x37 (ETSI1). That one is set in EEPROM which was 0x00 before. But the country code is different. What I'm trying to do is to set it to 276 which is actually done by the kernel (?)(seen a lot of dmesgs out there). What is this locale your're talking about? I know, in the end I should have IOLocale set accordingly in ioreg, is there a way to set it manually? (atm it comes up as 'Unknown'. I suppose, my transmission power is to weak right now, that's why I'm trying to set the locale. thx Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 12, 2008 Share Posted August 12, 2008 Thanks for your info. But regdomain should be 0x37 (ETSI1). That one is set in EEPROM which was 0x00 before. But the country code is different. What I'm trying to do is to set it to 276 which is actually done by the kernel (?)(seen a lot of dmesgs out there). What is this locale your're talking about? I know, in the end I should have IOLocale set accordingly in ioreg, is there a way to set it manually? (atm it comes up as 'Unknown'.I suppose, my transmission power is to weak right now, that's why I'm trying to set the locale. thx Locale, Country Code and regdomain are 3 different things and do not affect the transmission power. If regdomain is 0x37 then set it to 0x37, locale is a 0x0 to 0xf value and Country Code is a 0x0000 to 0x0fff value. Again, a guess for your Locale is 9 or A, C is Asia Pacific and is usually what all European cards are preset to as a factory default. If you don't understand what any of this means configure your AP for channel 13 and see if your card detects it, if it does then your locale is being set by the driver and doesn't need to be set in the card. If you need further information then start by reading as much of the wifi and wifi RFC documentation you can find until you understand. Link to comment Share on other sites More sharing options...
eberts Posted August 12, 2008 Share Posted August 12, 2008 Excuse me, BuildSmart? Quote: 'The countrycode and regdomain settings control the channels the card can operate on, as well as maximum transmission power, whether active scanning can be used, where and how ad-hoc mode can be used and also whether DFS and TPC (802.11h) support is required.' (Madwifi.org) But never mind Link to comment Share on other sites More sharing options...
Onikage Posted August 12, 2008 Share Posted August 12, 2008 Hi BuildSmart and thank you for your hard work. My question is has anyone tried this method with a Linksys WUSB54GS? I cannot for the life of me find a solution for getting it to work. I am running LawlessPPC 10.5.4 and this is the one thing that has tainted my install. I tried running the older Broadcom enabler script and it didn't work either. The chipset in the adapter is supposedly a BCM4320SKFBG Link to comment Share on other sites More sharing options...
Guest BuildSmart Posted August 13, 2008 Share Posted August 13, 2008 Hi BuildSmart and thank you for your hard work. My question is has anyone tried this method with a Linksys WUSB54GS? I cannot for the life of me find a solution for getting it to work. I am running LawlessPPC 10.5.4 and this is the one thing that has tainted my install. I tried running the older Broadcom enabler script and it didn't work either. The chipset in the adapter is supposedly a BCM4320SKFBG What is LawlessPPC, you mention it like everyone should know what it is??? What exactly are you trying to do??? What machine is this running on??? Have you confirmed the device you have is Broadcom based??? Are you using a Broadcom USB wireless driver??? Is the driver architecture the same as the machines architecture??? Because you provide no real information it's hard to help you. Going the USB route as you are finding is not an easy task, you will never obtain the functionality you want unless it's only the ability to connect to an AP, AirPort functionality is never going to be a possibility and full TC compatibility is non-existent. Link to comment Share on other sites More sharing options...
Recommended Posts