Discussion:
b43legacy: My laptop has no button for rfkill but the driver sais it has...
(too old to reply)
Ulf Dambacher
2008-12-20 17:08:17 UTC
Permalink
Hi

I hav a dell inspiron 5100 and it has no hardware button device to
toggle rfkill.
The broadcom bcm4301 card has this feature and the driver sees it and
disables itself hard, wich can not be overwritten by software.

I tested a little bit with a hacked version always returning on on
rfkill pollling and that worked (partly, see next post)

I propose a module parameter to ignore the rfkill button setting.
I think the polling routine should not be registered if the button is to
be ignoerd.

If I want to send a patch for that, what would be better way to
implement it:

- putting some extern declaration in one of the headers (bcm43legacy.h
or main.h?) and test this directly within b43legacy_rfkill_init
- put a new filed in the dev structure for disabling the rfkill button?
- use enum { disable,enable, ignore} radio_hw_enable


bye
Ulf
Larry Finger
2008-12-20 17:50:11 UTC
Permalink
Post by Ulf Dambacher
Hi
I hav a dell inspiron 5100 and it has no hardware button device to
toggle rfkill.
The broadcom bcm4301 card has this feature and the driver sees it and
disables itself hard, wich can not be overwritten by software.
I tested a little bit with a hacked version always returning on on
rfkill pollling and that worked (partly, see next post)
As your next post shows, merely ignoring the RFKILL setting may do no good. If
the hardware sees that the radio is turned off by the "button", then there is
nothing the driver can do. The firmware will disable the radio. Accordingly,
your hack does no good.

If your laptop does not have an RFKILL button, I have no idea where the signal
to kill the radio is coming from. The BIOS in some computers has a setting that
lets Windows turn off the radio when the system hibernates. If you then boot
Linux, the radio will be off. Check if you have an option to override that
behavior in your system.

There is a facility called the Windows Management Interface (WMI) that is used
to control facilities like this. A rudimentary one for Dell laptops is floating
around, but not yet in the mainline kernels. The author is Matthew Garrett
<mjg59-***@public.gmane.org>. Perhaps he knows more about the coding for Dell machines.

Larry
Ulf Dambacher
2008-12-20 19:11:28 UTC
Permalink
Post by Larry Finger
As your next post shows, merely ignoring the RFKILL setting may do no good. If
the hardware sees that the radio is turned off by the "button", then there is
nothing the driver can do. The firmware will disable the radio. Accordingly,
your hack does no good.
Hi Larry

With the old bcm43xx driver, everything works well without me ever
fiddling with the bios (btw. it sais enabled and software controls the
card) If I bood to the old 2.6.23 kernel i don't have any problems.
If I bood to 2.6.27.9 nothing works anymore. So the problems are with
the new driver version.

And if I can associate with the ap using the (rfkill-hacked)
2.6.27.9-b43legacy driver this means that packets are indeed sent (or
else my ap would not see my laptop)

This is why I posted two different problems.

bye
Ulf
Peter Stuge
2008-12-20 20:50:52 UTC
Permalink
Post by Larry Finger
If your laptop does not have an RFKILL button, I have no idea where
the signal to kill the radio is coming from.
It can be connected to just about any GPIO pin on any chip in the
system. The super IO, embedded controller and chipset all have IOs to
spare, some chips have a lot of them too.

Two designers at the Taiwanese ODM may know which pin controls it.

Reverse engineer it.


//Peter
Matthew Garrett
2008-12-23 17:46:49 UTC
Permalink
Post by Ulf Dambacher
Hi
I hav a dell inspiron 5100 and it has no hardware button device to
toggle rfkill.
The broadcom bcm4301 card has this feature and the driver sees it and
disables itself hard, wich can not be overwritten by software.
The dell-laptop driver is worth a go - it provides support for
controlling the Dell-specific rfkill interface. It may (or may not) help
here.
--
Matthew Garrett | mjg59-***@public.gmane.org
Ulf Dambacher
2008-12-24 10:16:36 UTC
Permalink
Post by Matthew Garrett
Post by Ulf Dambacher
Hi
I hav a dell inspiron 5100 and it has no hardware button device to
toggle rfkill.
The broadcom bcm4301 card has this feature and the driver sees it and
disables itself hard, wich can not be overwritten by software.
The dell-laptop driver is worth a go - it provides support for
controlling the Dell-specific rfkill interface. It may (or may not) help
here.
Hi Matthew

I still don't think its a general problem, but a problem that b43legacy
does miss something bcm43xx does to initialize my hardware to enable it.

Anyway, Larry Finger also pointed me to your patches. I searched them
from lkml and applied them to a 2.6.27.9 kernel (with some hand-work)

When loading the module dell-laptop I get:

FATAL: Eroor inserting dell_laptop: No such device

Kernel dmesg sais:
dcbas dcbas: Dell Systems management base Driver (version 5.6.0-3.2)

So my system is not listed in your device_table?
Attached is the output of dmidecode.

And yes, i tested i8k (forced load) too without success.

merry xmas

Ulf


---------------------------8<------------------------------
Post by Matthew Garrett
# dmidecode 2.9
SMBIOS 2.3 present.
41 structures occupying 1507 bytes.
Table at 0x000F9660.
Handle 0xDA00, DMI type 218, 53 bytes
OEM-specific Type
DA 35 00 DA B2 00 0D 1F 0F 37 40 7D 00 00 00 00
00 7E 00 02 00 00 00 01 F0 01 F0 00 00 02 F0 02
F0 00 00 03 F0 03 F0 00 00 04 F0 04 F0 00 00 FF
FF 00 00 00 00
Handle 0x0000, DMI type 0, 20 bytes
BIOS Information
Vendor: Dell Computer Corporation
Version: A32
Release Date: 10/18/2004
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 576 kB
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
3.5"/720 KB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
AGP is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Handle 0x0100, DMI type 1, 25 bytes
System Information
Manufacturer: Dell Computer Corporation
Product Name: Inspiron 5100
Version: Not Specified
Serial Number: 2QTMP0J
UUID: 44454C4C-5100-1054-804D-B2C04F50304A
Wake-up Type: Power Switch
Handle 0x0200, DMI type 2, 9 bytes
Base Board Information
Manufacturer: Dell Computer Corporation
Product Name: 09U806
Serial Number: .2QTMP0J.CN1296133C4728.
Handle 0x0300, DMI type 3, 13 bytes
Chassis Information
Manufacturer: Dell Computer Corporation
Type: Portable
Lock: Not Present
Version: Not Specified
Serial Number: 2QTMP0J
Asset Tag: Not Specified
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
Handle 0x0400, DMI type 4, 32 bytes
Processor Information
Socket Designation: Microprocessor
Type: Central Processor
Family: Pentium 4
Manufacturer: Intel
ID: 27 0F 00 00 FF F9 EB BF
Signature: Type 0, Family 15, Model 2, Stepping 7
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
PSE (Page size extension)
TSC (Time stamp counter)
MSR (Model specific registers)
PAE (Physical address extension)
MCE (Machine check exception)
CX8 (CMPXCHG8 instruction supported)
SEP (Fast system call)
MTRR (Memory type range registers)
PGE (Page global enable)
MCA (Machine check architecture)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (Fast floating-point save and restore)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Hyper-threading technology)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Not Specified
Voltage: 3.3 V
External Clock: 133 MHz
Max Speed: 2800 MHz
Current Speed: 2533 MHz
Status: Populated, Enabled
Upgrade: None
L1 Cache Handle: 0x0700
L2 Cache Handle: 0x0701
L3 Cache Handle: Not Provided
Handle 0x0700, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 8 KB
Maximum Size: 8 KB
Unknown
Installed SRAM Type: Unknown
Speed: Unknown
Error Correction Type: None
System Type: Data
Associativity: 4-way Set-associative
Handle 0x0701, DMI type 7, 19 bytes
Cache Information
Socket Designation: Not Specified
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Varies With Memory Address
Location: Internal
Installed Size: 512 KB
Maximum Size: 512 KB
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: 15 ns
Error Correction Type: None
System Type: Unified
Associativity: Other
Handle 0x0804, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: USB
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: Access Bus (USB)
Port Type: USB
Handle 0x0806, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: MONITOR
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: DB-15 female
Port Type: Video Port
Handle 0x080B, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: FireWire
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: IEEE 1394
Port Type: Firewire (IEEE P1394)
Handle 0x080C, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Modem
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: RJ-11
Port Type: Modem Port
Handle 0x080D, DMI type 8, 9 bytes
Port Connector Information
Internal Reference Designator: Ethernet
Internal Connector Type: None
External Reference Designator: Not Specified
External Connector Type: RJ-45
Port Type: Network Port
Handle 0x0900, DMI type 9, 13 bytes
System Slot Information
Designation: PCMCIA 0
Type: 32-bit PC Card (PCMCIA)
Current Usage: Available
Length: Other
ID: Adapter 0, Socket 0
5.0 V is provided
3.3 V is provided
PC Card-16 is supported
Cardbus is supported
Zoom Video is supported
Modem ring resume is supported
Handle 0x0904, DMI type 9, 13 bytes
System Slot Information
Designation: MiniPCI
Type: 32-bit Other
Current Usage: Available
Length: Other
5.0 V is provided
3.3 V is provided
PME signal is supported
Handle 0x0A00, DMI type 10, 6 bytes
On Board Device Information
Type: Video
Status: Enabled
Description: ATI Radeon 7500
Handle 0x0A01, DMI type 10, 6 bytes
On Board Device Information
Type: Sound
Status: Enabled
Description: Sigmatel 9750
Handle 0x0B00, DMI type 11, 5 bytes
OEM Strings
String 1: Dell System
String 2: 5[0001]
Handle 0x0D00, DMI type 13, 22 bytes
BIOS Language Information
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Handle 0x1000, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 2 GB
Error Information Handle: Not Provided
Number Of Devices: 2
Handle 0x1100, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 256 MB
Form Factor: DIMM
Set: None
Locator: DIMM_A
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 266 MHz (3.8 ns)
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Handle 0x1101, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 256 MB
Form Factor: DIMM
Set: None
Locator: DIMM_B
Bank Locator: Not Specified
Type: DDR
Type Detail: Synchronous
Speed: 266 MHz (3.8 ns)
Manufacturer: Not Specified
Serial Number: Not Specified
Asset Tag: Not Specified
Handle 0x1300, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0000009FFFF
Range Size: 640 kB
Physical Array Handle: 0x1000
Partition Width: 0
Handle 0x1301, DMI type 19, 15 bytes
Memory Array Mapped Address
Starting Address: 0x00000100000
Ending Address: 0x0001FFFFFFF
Range Size: 511 MB
Physical Array Handle: 0x1000
Partition Width: 0
Handle 0x1400, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0000009FFFF
Range Size: 640 kB
Physical Device Handle: 0x1100
Memory Array Mapped Address Handle: 0x1300
Partition Row Position: 1
Handle 0x1401, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00000100000
Ending Address: 0x0000FFFFFFF
Range Size: 255 MB
Physical Device Handle: 0x1100
Memory Array Mapped Address Handle: 0x1301
Partition Row Position: 1
Handle 0x1402, DMI type 20, 19 bytes
Memory Device Mapped Address
Starting Address: 0x00010000000
Ending Address: 0x0001FFFFFFF
Range Size: 256 MB
Physical Device Handle: 0x1101
Memory Array Mapped Address Handle: 0x1301
Partition Row Position: 1
Handle 0x1500, DMI type 21, 7 bytes
Built-in Pointing Device
Type: Touch Pad
Interface: Bus Mouse
Buttons: 2
Handle 0x1600, DMI type 22, 26 bytes
Portable Battery
Location: Sys. Battery Bay
Manufacturer: Dell
Name: .DELL
Design Capacity: 66000 mWh
Design Voltage: 14800 mV
SBDS Version: 1.0
Maximum Error: 9%
SBDS Serial Number: 0001
SBDS Manufacture Date: 2007-01-28
SBDS Chemistry: LION
OEM-specific Information: 0x00000001
Handle 0x1B00, DMI type 27, 12 bytes
Cooling Device
Type: Fan
Status: OK
OEM-specific Information: 0x0000DD00
Handle 0x1C00, DMI type 28, 20 bytes
Temperature Probe
Description: CPU Internal Temperature
Location: Processor
Status: OK
Maximum Value: 127.0 deg C
Minimum Value 0.0 deg C
Resolution: 1.000 deg C
Tolerance: 0.5 deg C
Accuracy: Unknown
OEM-specific Information: 0x0000DC00
Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected
Handle 0xD000, DMI type 208, 10 bytes
OEM-specific Type
D0 0A 00 D0 01 04 FE 00 49 01
Handle 0xD800, DMI type 216, 9 bytes
OEM-specific Type
D8 09 00 D8 01 03 01 F0 03
ATI Technologies Inc.
008.000.008.005.000.007
Handle 0xD900, DMI type 217, 8 bytes
OEM-specific Type
D9 08 00 D9 01 02 01 03
US-101
Proprietary
Handle 0xDC00, DMI type 220, 22 bytes
OEM-specific Type
DC 16 00 DC 01 F0 00 00 02 F0 00 00 00 00 03 F0
04 F0 00 00 00 00
Handle 0xDD00, DMI type 221, 19 bytes
OEM-specific Type
DD 13 00 DD 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00
Handle 0xD400, DMI type 212, 122 bytes
OEM-specific Type
D4 7A 00 D4 70 00 71 00 00 10 2D 2E 5C 00 78 BF
40 5D 00 78 BF 00 65 00 21 F7 00 66 00 21 F7 08
28 00 23 F3 00 29 00 23 F3 04 2A 00 23 F3 08 2B
00 58 00 00 2C 00 59 00 00 E7 00 1D F3 04 E6 00
1D F3 00 0E 01 23 FD 00 0F 01 23 FD 02 9B 00 23
EF 10 9C 00 23 EF 00 E8 00 23 DF 00 E9 00 23 DF
20 12 01 34 FB 04 13 01 34 FB 00 08 00 1D DF 00
03 00 1D DF 00 FF FF 00 00 00
Handle 0xD401, DMI type 212, 117 bytes
OEM-specific Type
D4 75 01 D4 70 00 71 00 03 40 49 4A 42 00 48 7F
80 43 00 48 7F 00 55 00 47 BF 00 6D 00 47 BF 40
0C 01 46 FB 04 0D 01 46 FB 00 14 01 46 E7 00 15
01 46 E7 08 16 01 46 E7 10 0A 01 48 EF 10 0B 01
48 EF 00 2D 00 48 DF 20 2E 00 48 DF 00 11 01 48
BF 00 10 01 48 BF 40 F0 00 46 3F 20 ED 00 46 3F
00 EA 00 67 F3 00 EB 00 67 F3 04 EC 00 67 F3 081
FF FF 00 00 00
Handle 0xDE00, DMI type 222, 13 bytes
OEM-specific Type
DE 0D 00 DE 01 02 FF FF 00 00 00 00 00
Handle 0x7F00, DMI type 127, 4 bytes
End Of Table
Michael Buesch
2008-12-24 11:35:51 UTC
Permalink
Post by Ulf Dambacher
Post by Matthew Garrett
Post by Ulf Dambacher
Hi
I hav a dell inspiron 5100 and it has no hardware button device to
toggle rfkill.
The broadcom bcm4301 card has this feature and the driver sees it and
disables itself hard, wich can not be overwritten by software.
The dell-laptop driver is worth a go - it provides support for
controlling the Dell-specific rfkill interface. It may (or may not) help
here.
Hi Matthew
I still don't think its a general problem, but a problem that b43legacy
does miss something bcm43xx does to initialize my hardware to enable it.
We cannot enable the radio from within the driver, if it's hardware disabled.
We cannot do this in b43legacy and we cannot do this in bcm43xx. Fullstop.

If it fails now and didn't fail earlier, it almost certainly is something
_else_ that disables the rf.
Please make sure _all_ dell related kernel modules are loaded
and all dell related kernel options are enabled (there are quite a few).
And try to use the dell-tool that was suggested earlier in the thread.
--
Greetings, Michael.
Gene Heskett
2008-12-24 15:58:14 UTC
Permalink
Post by Michael Buesch
Post by Ulf Dambacher
Post by Matthew Garrett
Post by Ulf Dambacher
Hi
I hav a dell inspiron 5100 and it has no hardware button device to
toggle rfkill.
The broadcom bcm4301 card has this feature and the driver sees it and
disables itself hard, wich can not be overwritten by software.
The dell-laptop driver is worth a go - it provides support for
controlling the Dell-specific rfkill interface. It may (or may not) help
here.
Hi Matthew
I still don't think its a general problem, but a problem that b43legacy
does miss something bcm43xx does to initialize my hardware to enable it.
We cannot enable the radio from within the driver, if it's hardware
disabled. We cannot do this in b43legacy and we cannot do this in bcm43xx.
Fullstop.
With all due respect Michael, if it has been disabled by the panel switch such
as the one on my lappy, can it not be made to emit such an error message so
that we know we have to toggle that pushbutton? On my HP- dv5120us, there is
no tactile feel, or any other means to determine the state of this switch, an
apparently push-push switch. The LED is no help cuz you can and do turn it
on and off at will regardless of the state of the switch. Having to push the
button and reboot to see if that fixes it doesn't seem like a very productive
way to spend an evening. So I give up and plug in a cable, hundreds of times
faster to get a network connection, or if on the road, to borrow a little
dlink tranceiver from the motel. That after all, is the target condition we
are trying to achieve.
Post by Michael Buesch
If it fails now and didn't fail earlier, it almost certainly is something
_else_ that disables the rf.
Please make sure _all_ dell related kernel modules are loaded
and all dell related kernel options are enabled (there are quite a few).
And try to use the dell-tool that was suggested earlier in the thread.
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
<Peaker> the difference between theory and practice is just a lot of work

- from #offtopic (the offtopic chat channel of #kernelnewbies)
Michael Buesch
2008-12-24 16:08:35 UTC
Permalink
Post by Gene Heskett
With all due respect Michael, if it has been disabled by the panel switch such
as the one on my lappy, can it not be made to emit such an error message so
that we know we have to toggle that pushbutton?
We emit a message that the radio is disabled.
The b43 driver has exactly one read-only bit to determine whether the radio
is on or off. It polls that bit every second and displays a message when it
got toggled.
That's all we can do from within the driver.

_If_ you can switch it by software, which is theoretically possible of course,
then _not_ through the broadcom wireless PCI device. It has to be done through
another device. So you must load the driver for that device and switch the signal.
Post by Gene Heskett
On my HP- dv5120us, there is
no tactile feel, or any other means to determine the state of this switch, an
apparently push-push switch. The LED is no help cuz you can and do turn it
on and off at will regardless of the state of the switch. Having to push the
button and reboot to see if that fixes it doesn't seem like a very productive
way to spend an evening. So I give up and plug in a cable, hundreds of times
faster to get a network connection, or if on the road, to borrow a little
dlink tranceiver from the motel. That after all, is the target condition we
are trying to achieve.
I think you should send this to HP.
I really can't do anything about it. All I have is one single read-only bit.
--
Greetings, Michael.
Ulf Dambacher
2008-12-24 17:16:20 UTC
Permalink
Hi together

To get it right:
- i have no rfkill hardware button anywhere on the laptop.
- Yesterday I opened it and there are no unused pins or connectors on the card or the motherboard.
- the computer does not run any m$ software wich could interfere here
- my dell bios (version A32) sais the card is enabled and activated and can be switched by software
- if I boot a kernel 2.6.22 and i use the bcm43xx driver it is happily transmitting wireless
- if i reboot to kernel 2.6.27.9 and use the b43legacy driver it warns me that i have turned the device on by software but a hardware button still turns it off
- i8k does not work
- dell-laptop does not work
- Until now, I did not find switch in wmi, acpi,

Now the tricky part:
- if I hack the b43legacy driver to ignore the button settings IT IS ABLE TO ASCCOCIATE WITH MY AP
- get that again: it transmits some message that my ap obviously can receive and it obviously receives a reply that it is associated.
- no ip packets can be received, it claims to have send some pings though.

If Michael Buesch sais the driver can not overwrite hardware rfkill, I thake that for granted and conclude that my card must be on but something else holds it from sending and/or receiving packets - rember, its associated with the ap...
This would be in line with the fact that the bcm43xx driver is indeed working.
And both drivers use exactly the same code to test for the rfkill button. one sais on the other sees off.

Im just reading code and fiddling with all the dell options and wmi and smb options to get any hooks on where to find my button

merry xmas and bye
Ulf
____________________________________________________________________
Psssst! Schon vom neuen WEB.DE MultiMessenger gehört?
Der kann`s mit allen: http://www.produkte.web.de/messenger/?did=3123
David Ellingsworth
2008-12-24 18:54:31 UTC
Permalink
Post by Ulf Dambacher
Hi together
- i have no rfkill hardware button anywhere on the laptop.
- Yesterday I opened it and there are no unused pins or connectors on the card or the motherboard.
- the computer does not run any m$ software wich could interfere here
- my dell bios (version A32) sais the card is enabled and activated and can be switched by software
- if I boot a kernel 2.6.22 and i use the bcm43xx driver it is happily transmitting wireless
- if i reboot to kernel 2.6.27.9 and use the b43legacy driver it warns me that i have turned the device on by software but a hardware button still turns it off
- i8k does not work
- dell-laptop does not work
- Until now, I did not find switch in wmi, acpi,
- if I hack the b43legacy driver to ignore the button settings IT IS ABLE TO ASCCOCIATE WITH MY AP
- get that again: it transmits some message that my ap obviously can receive and it obviously receives a reply that it is associated.
- no ip packets can be received, it claims to have send some pings though.
If Michael Buesch sais the driver can not overwrite hardware rfkill, I thake that for granted and conclude that my card must be on but something else holds it from sending and/or receiving packets - rember, its associated with the ap...
This would be in line with the fact that the bcm43xx driver is indeed working.
And both drivers use exactly the same code to test for the rfkill button. one sais on the other sees off.
Im just reading code and fiddling with all the dell options and wmi and smb options to get any hooks on where to find my button
merry xmas and bye
Ulf
OK, just a few thoughts on this.. you obviously have some sort of
issue that's preventing you from using the new b43legacy driver.
Unfortunately, you've only tested the latest version of the driver and
nothing prior. Before blaming b43legacy as the cause, you should first
try to determine if the b43legacy driver ever worked on your system.
Doing a git bisect of the kernel tree should help you determine the
point at which it worked or didn't work and eventually find the commit
that caused the issue. If git bisect reveals the b43legacy driver
never worked on your system since it's inclusion into the kernel and
the last version of bcm43xx did work then you can blame the b43legacy
driver. Until then, like Michael, I am suspect to believe the
b43legacy driver is the cause of your issue.

Regards,

David Ellingsworth
Michael Buesch
2008-12-24 23:44:25 UTC
Permalink
Post by Ulf Dambacher
And both drivers use exactly the same code to test for the rfkill button. one sais on the other sees off.
You must also honor the fact that you are running a completely different kernel.
It's _not_ that just "one driver works, but the other doesn't".
Something else in the kernel can be poking with the rfkill. Look at acpi and stuff like that.
--
Greetings, Michael.
Ulf Dambacher
2008-12-25 09:44:39 UTC
Permalink
Hi
Post by Michael Buesch
Post by Ulf Dambacher
And both drivers use exactly the same code to test for the rfkill button. one sais on the other sees off.
You must also honor the fact that you are running a completely different kernel.
It's _not_ that just "one driver works, but the other doesn't".
Something else in the kernel can be poking with the rfkill. Look at acpi and stuff like that.
Yes, thats a point. I'll start with a 2.6.24.7 as this is a kernel with
both drivers and I'll config it equally but for the drivers.
I'll try with minimum options first and if that works, I'll start to
activate all that gimmicks that fiddle with bios, acpi, dmi, smb, wms,
i2c or dell laptops.

Hopefully I find something working. If only this system would compile
faster ...

merry xmas and bye
Ulf
Gene Heskett
2008-12-25 10:31:26 UTC
Permalink
Post by Ulf Dambacher
Hi
Post by Michael Buesch
Post by Ulf Dambacher
And both drivers use exactly the same code to test for the rfkill button.
one sais on the other sees off.
You must also honor the fact that you are running a completely different
kernel. It's _not_ that just "one driver works, but the other doesn't".
Something else in the kernel can be poking with the rfkill. Look at acpi
and stuff like that.
Yes, thats a point. I'll start with a 2.6.24.7 as this is a kernel with
both drivers and I'll config it equally but for the drivers.
I'll try with minimum options first and if that works, I'll start to
activate all that gimmicks that fiddle with bios, acpi, dmi, smb, wms,
i2c or dell laptops.
Hopefully I find something working. If only this system would compile
faster ...
Look up 'ccache'. It helps me build a new kernel in 2 to 4 minutes, depending
on how much of it is really new.
Post by Ulf Dambacher
merry xmas and bye
Ulf
_______________________________________________
Bcm43xx-dev mailing list
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
--
Cheers, Gene
"There are four boxes to be used in defense of liberty:
soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Do nothing unless you must, and when you must act -- hesitate.
Ulf Dambacher
2008-12-26 20:54:53 UTC
Permalink
Post by Ulf Dambacher
Yes, thats a point. I'll start with a 2.6.24.7 as this is a kernel with
both drivers and I'll config it equally but for the drivers.
I'll try with minimum options first and if that works, I'll start to
activate all that gimmicks that fiddle with bios, acpi, dmi, smb, wms,
i2c or dell laptops.
Ok it works now, but dont ask why, Im just scrutinizing it
I need kernel 2.6.27.9 for b43legacy, 2.6.22 for bcm43xx, kernels in
between just hang on loading the modules.

Multiple reboots and hangs later I think I have 3 different bugs to deal
with:

Bug#1: If I load the modules ( b43legacy or bcm43xx) togehter with b44
(my network device sitting on the mainboard) the system hangs hard.
Unfortionatly this was done in the ubuntu ramdisk -until I disabled it

This happens after initializing ssb wich in tune autoloads the other
modules. Just after the second module initializes even sysreq does not
show up anymore. I find this from 2.6.23 onward.
At manually inserting the b44 after b43legacy I got following error
message on console:
sbb: FATAL ERROR bus powered down while accessing PCI MMIO space
the message repeated infinitly until I hit poweroff - sysreq was not
working.

I can get away from this for testing if I prevent modprobe from seeing
more than one of bcm43xx.ko b43legacy.ko or b44.ko e.g. by renaming them.

tell me what information you need to track this one down...

Bug#2: something is disabling the rfkill line on my minipci card slot

@Michael Buesch: You were indeed right! Somewhere between 2.6.22 and
current the rfkill gets switched on on my laptop, I presume by some new
acpi or wmi initializing function.

The bcm4301 module is on a mini-pci card and pin 13 is the rfkill switch
input signal. The people of the madwifi project have some info about
this on their web site and they say "put selotape on this pin if nothing
else works". I did so and i could see rfkill/../state=0 with selotape
and rfkill/../state=1 without.

BUT: in my current configurateion the UNMODIFIED driver is happy with it !!
At least did not bring the "hardware disabled" message anymore and is
happily transmitting in either state.
I had them messages before, and I will look for what caused the
difference in my configuration.

@Matthew Garret: I commented ou the vendor match of dell-laptop.c
(becaus my dmi sais "Dell Computer Corporation") and tried it, it loads,
but rfkill is not registered and toggeling the backlight has no effect.
so I unloaded it.

But either the dbcbas patch or the wmi interface enabled my backlight
toggling. Now I get fancy symbol messages on gnome if I hit the buttons
of backlight and volume.

Bug#3:
I said I could associate but not send packets. No wonder if you get the
web key wrong by just one digit. But there was not a single error
message about it. just found it while diffing some command output. *GRR*

bye
Ulf
Michael Buesch
2008-12-26 21:25:22 UTC
Permalink
Post by Ulf Dambacher
At manually inserting the b44 after b43legacy I got following error
sbb: FATAL ERROR bus powered down while accessing PCI MMIO space
I'd like to see the stackdump that follows the message.

go to drivers/ssb/pci.c and search this code:

573 static int ssb_pci_assert_buspower(struct ssb_bus *bus)
574 {
575 if (likely(bus->powered_up))
576 return 0;
577
578 printk(KERN_ERR PFX "FATAL ERROR: Bus powered down "
579 "while accessing PCI MMIO space\n");
580 if (bus->power_warn_count <= 10) {
581 bus->power_warn_count++;
582 dump_stack();
583 }
584
585 return -ENODEV;
586 }

Add the following line just before the "return -ENODEV;":
local_irq_disable(); while (1) cpu_relax();

Please catch the message with a digital photocamera.
--
Greetings, Michael.
Ulf Dambacher
2008-12-26 23:28:01 UTC
Permalink
Hi Michael

I did like you wanted and wrote the following output from screen (no
digicam at hand .-(

kernel 2.6.27.9 init=/bin/bash, no modules loaded so far

modprobe b43legacy:

ssb: Core 0 found: IEEE 802.11 (cc 0x812 rev 0x02 vendor 0x4243)
ssb: Core 1 found: PCMCIA (cc 0x80d rev 0x00 vendor 0x4243)
ssb: core 2 found: Fast Ethernet (cc 0x806 rev 0x02 vendor 0x4243)
ssb: core 3 found: V90 (cc 0x807 rev 0x01 vendor 0x4243)
ssb: core 4 found: PCI (cc 0x803 rev 0x03 vendor 0x4243)
ssb: sonics silicon backplane found on PCI device 0000:02:02.0
b43legacy-phy0: Broadcom4301 WLAN found
Broadcom 43xx-legacy driver loaded [features PLRID, Firmware-ID: FW10]

now insmod b44__.ko:

ACPI PCI INterrupt Link LNKB enabled at irq7
b44 0000:02:01.0: PCI INTA-> LNKB->GSI 7 (level,low) ->IRQ7
ssb: Core 0 found: Fast Ethernet(cc 0x806 rev 0x4 vendor 0x4243)
ssb: Core 1 found: V90 (cc 0x807 rev 0x01 vendor 0x4243)
ssb: core 2 found: PCI (cc 0x804 rev 0x02 vendor 0x4243)
ssb: sonics silicon backplane found on pci device 0000:02:01.0
b44.c: v2.0
b44: invalid mac address found in EEPROM
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22

then the system is unresponsible.

Now I did the same thing with an up and working wlan connection and
insmod b44__.ko:

...
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22
ssb: fatal error: bus powerd down while accessing PCI MMIO space
Pid:4 comm: events/0 not tainted 2.6.27.9-ud5#5
[<e0812e56>] ssb_pci_assert_buspower+0x40/0x42[ssb]
[<e08135a6>] ssb_pci_read32+0x11/0x3d [ssb]
[<e087f878>] b43legacy_interrupt_handler+0x1e/0x1f6 [b43legacy]
[<c013a25a>] handle_IRQ_event+0x25/0x4a
[<c010531a>] do_IRQ+0x44/0x78
[<c0103a3b>} common_interrupt+0x23/0x28
[<c011007b>] do_page_fault+0x2fa/0x65f
[<c0275580>] __linkwatch_run_queue+0x86/0x129
[<c0275623>] linkwatch_event+0x0/0x22
[<c0275640>] linkwatch_event+0x1d/0x22
[<c012365f>] run_workqueue+0x8b/0x103
worker_thread
worker_thread
autoremove_wake_function
worker_thread
kthread
kthread
kernek_thread_helper
============================0


you see these are two different pci ids. maybe that's the problem?


good night and bye

Ulf
Post by Michael Buesch
Post by Ulf Dambacher
At manually inserting the b44 after b43legacy I got following error
sbb: FATAL ERROR bus powered down while accessing PCI MMIO space
I'd like to see the stackdump that follows the message.
573 static int ssb_pci_assert_buspower(struct ssb_bus *bus)
574 {
575 if (likely(bus->powered_up))
576 return 0;
577
578 printk(KERN_ERR PFX "FATAL ERROR: Bus powered down "
579 "while accessing PCI MMIO space\n");
580 if (bus->power_warn_count <= 10) {
581 bus->power_warn_count++;
582 dump_stack();
583 }
584
585 return -ENODEV;
586 }
local_irq_disable(); while (1) cpu_relax();
Please catch the message with a digital photocamera.
Michael Buesch
2008-12-26 23:48:20 UTC
Permalink
Post by Ulf Dambacher
Hi Michael
I did like you wanted and wrote the following output from screen (no
digicam at hand .-(
kernel 2.6.27.9 init=/bin/bash, no modules loaded so far
ssb: Core 0 found: IEEE 802.11 (cc 0x812 rev 0x02 vendor 0x4243)
ssb: Core 1 found: PCMCIA (cc 0x80d rev 0x00 vendor 0x4243)
ssb: core 2 found: Fast Ethernet (cc 0x806 rev 0x02 vendor 0x4243)
ssb: core 3 found: V90 (cc 0x807 rev 0x01 vendor 0x4243)
ssb: core 4 found: PCI (cc 0x803 rev 0x03 vendor 0x4243)
ssb: sonics silicon backplane found on PCI device 0000:02:02.0
b43legacy-phy0: Broadcom4301 WLAN found
Broadcom 43xx-legacy driver loaded [features PLRID, Firmware-ID: FW10]
ACPI PCI INterrupt Link LNKB enabled at irq7
b44 0000:02:01.0: PCI INTA-> LNKB->GSI 7 (level,low) ->IRQ7
ssb: Core 0 found: Fast Ethernet(cc 0x806 rev 0x4 vendor 0x4243)
ssb: Core 1 found: V90 (cc 0x807 rev 0x01 vendor 0x4243)
ssb: core 2 found: PCI (cc 0x804 rev 0x02 vendor 0x4243)
ssb: sonics silicon backplane found on pci device 0000:02:01.0
b44.c: v2.0
b44: invalid mac address found in EEPROM
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22
then the system is unresponsible.
Now I did the same thing with an up and working wlan connection and
...
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22
ssb: fatal error: bus powerd down while accessing PCI MMIO space
Pid:4 comm: events/0 not tainted 2.6.27.9-ud5#5
[<e0812e56>] ssb_pci_assert_buspower+0x40/0x42[ssb]
[<e08135a6>] ssb_pci_read32+0x11/0x3d [ssb]
[<e087f878>] b43legacy_interrupt_handler+0x1e/0x1f6 [b43legacy]
[<c013a25a>] handle_IRQ_event+0x25/0x4a
[<c010531a>] do_IRQ+0x44/0x78
[<c0103a3b>} common_interrupt+0x23/0x28
[<c011007b>] do_page_fault+0x2fa/0x65f
[<c0275580>] __linkwatch_run_queue+0x86/0x129
[<c0275623>] linkwatch_event+0x0/0x22
[<c0275640>] linkwatch_event+0x1d/0x22
[<c012365f>] run_workqueue+0x8b/0x103
worker_thread
worker_thread
autoremove_wake_function
worker_thread
kthread
kthread
kernek_thread_helper
============================0
you see these are two different pci ids. maybe that's the problem?
Ok thanks for catching the messages.
I think we have three different problems here.

1) We fail to fetch the MAC address from the ROM.
2) We crash in the MAC failure codepath.
3) We have an interrupt while the device is down.

2 and 3 are most likely trivial to fix, but 1 is a little bit strange...

Do you get other messages from ssb about the SPROM?
For example checksum-failed or something like that...
--
Greetings, Michael.
Michael Buesch
2008-12-26 23:59:34 UTC
Permalink
Post by Michael Buesch
Post by Ulf Dambacher
Hi Michael
I did like you wanted and wrote the following output from screen (no
digicam at hand .-(
kernel 2.6.27.9 init=/bin/bash, no modules loaded so far
ssb: Core 0 found: IEEE 802.11 (cc 0x812 rev 0x02 vendor 0x4243)
ssb: Core 1 found: PCMCIA (cc 0x80d rev 0x00 vendor 0x4243)
ssb: core 2 found: Fast Ethernet (cc 0x806 rev 0x02 vendor 0x4243)
ssb: core 3 found: V90 (cc 0x807 rev 0x01 vendor 0x4243)
ssb: core 4 found: PCI (cc 0x803 rev 0x03 vendor 0x4243)
ssb: sonics silicon backplane found on PCI device 0000:02:02.0
b43legacy-phy0: Broadcom4301 WLAN found
Broadcom 43xx-legacy driver loaded [features PLRID, Firmware-ID: FW10]
ACPI PCI INterrupt Link LNKB enabled at irq7
b44 0000:02:01.0: PCI INTA-> LNKB->GSI 7 (level,low) ->IRQ7
ssb: Core 0 found: Fast Ethernet(cc 0x806 rev 0x4 vendor 0x4243)
ssb: Core 1 found: V90 (cc 0x807 rev 0x01 vendor 0x4243)
ssb: core 2 found: PCI (cc 0x804 rev 0x02 vendor 0x4243)
ssb: sonics silicon backplane found on pci device 0000:02:01.0
b44.c: v2.0
b44: invalid mac address found in EEPROM
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22
then the system is unresponsible.
Now I did the same thing with an up and working wlan connection and
...
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22
ssb: fatal error: bus powerd down while accessing PCI MMIO space
Pid:4 comm: events/0 not tainted 2.6.27.9-ud5#5
[<e0812e56>] ssb_pci_assert_buspower+0x40/0x42[ssb]
[<e08135a6>] ssb_pci_read32+0x11/0x3d [ssb]
[<e087f878>] b43legacy_interrupt_handler+0x1e/0x1f6 [b43legacy]
[<c013a25a>] handle_IRQ_event+0x25/0x4a
[<c010531a>] do_IRQ+0x44/0x78
[<c0103a3b>} common_interrupt+0x23/0x28
[<c011007b>] do_page_fault+0x2fa/0x65f
[<c0275580>] __linkwatch_run_queue+0x86/0x129
[<c0275623>] linkwatch_event+0x0/0x22
[<c0275640>] linkwatch_event+0x1d/0x22
[<c012365f>] run_workqueue+0x8b/0x103
worker_thread
worker_thread
autoremove_wake_function
worker_thread
kthread
kthread
kernek_thread_helper
============================0
you see these are two different pci ids. maybe that's the problem?
Ok thanks for catching the messages.
I think we have three different problems here.
1) We fail to fetch the MAC address from the ROM.
2) We crash in the MAC failure codepath.
3) We have an interrupt while the device is down.
2 and 3 are most likely trivial to fix, but 1 is a little bit strange...
Do you get other messages from ssb about the SPROM?
For example checksum-failed or something like that...
Are you using compat-wireless? If not, which kernel are you using excactly?
Can you also try a "make mrproper" and complete rebuild?
We have similiar things in the past due to mismatches in the data structures
when compat-wireless or some other external driver package was used.
--
Greetings, Michael.
Ulf Dambacher
2008-12-27 08:54:36 UTC
Permalink
Good morning Michael
Post by Michael Buesch
Post by Ulf Dambacher
you see these are two different pci ids. maybe that's the problem?
Ok thanks for catching the messages.
I think we have three different problems here.
1) We fail to fetch the MAC address from the ROM.
2) We crash in the MAC failure codepath.
3) We have an interrupt while the device is down.
2 and 3 are most likely trivial to fix, but 1 is a little bit strange...
Do you get other messages from ssb about the SPROM?
For example checksum-failed or something like that...
I get this message every time I load b44 . No other messages.
Using kernel 2.6.22 and b44 version 1.01 there is no problem with the
mac adress.
With newer kernels I sometimes saw this message, but networking
continued to work. so maybe this is bug 2, too.

I just cheked it: booted 2.6.27.9 with init=/bin/bash
modprobe ssb (output like before)
don't load b43legacy.
modprobe mii
insmod b44.ko
hang with:

b44: invalid mac address found in EEPROM
b44 ssb0:1: Problem fetching invariants of chip,abording
b44: Probe of ssb0:1 faild with error -22
I'm nearly
completed with a pretty extensive rewrite of ssb-sprom, and I would like an
additional sample of a rev 8 device.
Are you using compat-wireless? If not, which kernel are you using excactly?
Can you also try a "make mrproper" and complete rebuild?
We have similiar things in the past due to mismatches in the data structures
when compat-wireless or some other external driver package was used.
I don't use compat-wireless - i sticked to unmodified kernels for better
debugging.
It is a kernel 2.6.27.9 as downloaded from kernel.org
It is patched only with dell-laptop from matthew garret.
But I can do a clean compile. What version do you like me to use?
2.6.27.9 or 2.6.28?

bye
Ulf

Loading...