Difference between revisions of "Thinkpad T61"

From Blue-IT.org Wiki

(The first problem was:)
(Wlan Problems)
Line 1: Line 1:
 +
== Wlan / bluetooth switch - prevent bluetooth ==
 +
I don't use bluetooth. But if i switch of the radio button for wlan and bluethooth off and on, both devices come up.
 +
 +
The bluethooth device is a Broadcom one:
 +
> udevadm monitor --udev
 +
UDEV  [1285453647.905188] remove  /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/bluetooth/hci0 (bluetooth)
 +
 +
> udevadm info --attribute-walk --path=/sys/bus/usb/devices/3-1/3-1\:1.0
 +
  looking at device '/bus/usb/devices/3-1/3-1:1.0':
 +
    KERNEL=="3-1:1.0"
 +
    SUBSYSTEM=="usb"
 +
    DRIVER=="btusb"
 +
    ATTR{bInterfaceNumber}=="00"
 +
    ATTR{bAlternateSetting}==" 0"
 +
    ATTR{bNumEndpoints}=="03"
 +
    ATTR{bInterfaceClass}=="e0"
 +
    ATTR{bInterfaceSubClass}=="01"
 +
    ATTR{bInterfaceProtocol}=="01"
 +
    ATTR{modalias}=="usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01"
 +
    ATTR{supports_autosuspend}=="1"
 +
 +
On boot i prevent bluetooth from coming up via:
 +
vim /etc/rc.local
 +
 +
echo disable > /proc/acpi/ibm/bluetooth
 +
 +
So edit a custom ''udev'' rule
 +
vim /etc/udev/rules.d/10-disable-initial-T61-bluetooth
 +
 +
# Broadcom Bluetooth vom T61 abschalten
 +
SUBSYSTEMS=="usb", KERNEL=="3-1:1.0", ACTION=="add", RUN+="'''/path/to/bin/'''disable_bluetooth"
 +
 +
vim '''/path/to/bin/'''disable_bluetooth
 +
 +
#!/bin/sh
 +
sleep 3
 +
echo disable  > /proc/acpi/ibm/bluetoot
 +
 +
chmod 755 '''/path/to/bin/'''disable_bluetooth
 +
 +
and reload udev:
 +
sudo service udev reload && sudo udevadm trigger
 +
 +
That's it ;)
 +
 
== Wlan Problems ==
 
== Wlan Problems ==
 
Ubuntu Lucid / 10.04.1 64bit
 
Ubuntu Lucid / 10.04.1 64bit

Revision as of 22:38, 25 September 2010

Wlan / bluetooth switch - prevent bluetooth

I don't use bluetooth. But if i switch of the radio button for wlan and bluethooth off and on, both devices come up.

The bluethooth device is a Broadcom one:

> udevadm monitor --udev
UDEV  [1285453647.905188] remove   /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/bluetooth/hci0 (bluetooth)
> udevadm info --attribute-walk --path=/sys/bus/usb/devices/3-1/3-1\:1.0
 looking at device '/bus/usb/devices/3-1/3-1:1.0':
   KERNEL=="3-1:1.0"
   SUBSYSTEM=="usb"
   DRIVER=="btusb"
   ATTR{bInterfaceNumber}=="00"
   ATTR{bAlternateSetting}==" 0"
   ATTR{bNumEndpoints}=="03"
   ATTR{bInterfaceClass}=="e0"
   ATTR{bInterfaceSubClass}=="01"
   ATTR{bInterfaceProtocol}=="01"
   ATTR{modalias}=="usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01"
   ATTR{supports_autosuspend}=="1"

On boot i prevent bluetooth from coming up via:

vim /etc/rc.local

echo disable > /proc/acpi/ibm/bluetooth

So edit a custom udev rule

vim /etc/udev/rules.d/10-disable-initial-T61-bluetooth
# Broadcom Bluetooth vom T61 abschalten
SUBSYSTEMS=="usb", KERNEL=="3-1:1.0", ACTION=="add", RUN+="/path/to/bin/disable_bluetooth"
vim /path/to/bin/disable_bluetooth

#!/bin/sh
sleep 3
echo disable  > /proc/acpi/ibm/bluetoot
chmod 755 /path/to/bin/disable_bluetooth

and reload udev:

sudo service udev reload && sudo udevadm trigger

That's it ;)

Wlan Problems

Ubuntu Lucid / 10.04.1 64bit

I encountered some problems with my wlan and had some strange errors in dmesg:

The first problem was:

iwl3945 0000:03:00.0: Failed to get channel info for channel 100 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 104 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 108 [0]
iwl3945 0000:03:00.0: Failed to get channel info for channel 112 [0]

According to this opensuse bug i filed a solution in Ubuntu Bug #340418:

Add a new file to /etc/modprobe.d/:

vim /etc/modprobe.d/options-iwl3945.conf

with the following content

options iwl3945 disable_hw_scan=0

For testing purpose do

rmmod -f iwl3945 && modprobe iwl3945 disable_hw_scan=0

The second problem was:

cfg80211: Leaving channel 5170 MHz intact on phy2 - no rule found in band on Country IE
cfg80211: Leaving channel 5180 MHz intact on phy2 - no rule found in band on Country IE
cfg80211: Leaving channel 5190 MHz intact on phy2 - no rule found in band on Country IE

Look at dmesg like this:

dmesg | grep cfg | grep country

You'll see something like this

cfg80211: Calling CRDA for country: GB
cfg80211: Received country IE:

To set the right country for your card (here GB) you have to install the program iw

sudo apt-get install iw

Then you can manually do

sudo iw reg set GB

and you'll see in dmesg:

cfg80211: Regulatory domain changed to country: GB

To automate this process you can write a so called dispatcher script for network manager (according to [1] and [2]):

vim /etc/NetworkManager/dispatcher.d/01changeCRDA

and add

#!/bin/sh
INTERFACE=$1
ACTION=$2
CODE="GB" 

if [ "$ACTION" = "up" -a "$(echo $INTERFACE|grep wlan)" ];then
       iw reg set ${CODE}
fi