====== M50-2130 Baako ======
===== Modem =====
Needed: [[hardware:ad1986a|alsa]], [[software:slmodem]]
From //aplay -l//
card 0: Intel [HDA Intel], device 6: Si3054 Modem [Si3054 Modem]
Subdevices: 1/1
Subdevice #0: subdevice #0
Start the software modem:
slmodemd -a modem:0 -g root
or if you use a old version of ALSA-lib:
slmodemd -a hw:0,6 -g root
===== Hardware =====
00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 915GM/PM Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.2 IDE interface: Intel Corporation 82801FBM (ICH6M) SATA Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce Go 6600] (rev a2)
06:05.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5788 Gigabit Ethernet (rev 03)
06:07.0 Network controller: Intel Corporation PRO/Wireless 2915ABG Network Connection (rev 05)
06:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b3)
06:09.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 08)
06:09.2 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17)
06:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 08)
06:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 03)
===== Bluetooth =====
The M50 Baako has a built in Bluetooth device.
//cat /proc/bus/usb/devices// shows this:
...
T: Bus=04 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=e0(unk. ) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=200a Rev= 0.01
S: Manufacturer=Broadcom
S: Product=Broadcom Bluetooth Module
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I: If#= 1 Alt= 0 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=83(I) Atr=01(Isoc) MxPS= 0 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 0 Ivl=1ms
I: If#= 1 Alt= 1 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=83(I) Atr=01(Isoc) MxPS= 9 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 9 Ivl=1ms
I:* If#= 1 Alt= 2 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=83(I) Atr=01(Isoc) MxPS= 17 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 17 Ivl=1ms
I: If#= 1 Alt= 3 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=83(I) Atr=01(Isoc) MxPS= 32 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 32 Ivl=1ms
I: If#= 1 Alt= 4 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=83(I) Atr=01(Isoc) MxPS= 64 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 64 Ivl=1ms
I: If#= 1 Alt= 5 #EPs= 2 Cls=e0(unk. ) Sub=01 Prot=01 Driver=hci_usb
E: Ad=83(I) Atr=01(Isoc) MxPS= 64 Ivl=1ms
E: Ad=03(O) Atr=01(Isoc) MxPS= 64 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=00 Driver=(none)
...
or for better reading, //lsusb// output:
...
Bus 004 Device 002: ID 0a5c:200a Broadcom Corp. Bluetooth dongle
...
Needed Linux kernel modules:
|**Linux Kernel Configuration:** //Networking -> Bluetooth subsystem support// |
|
L2CAP protocol support
SCO links support
RFCOMM protocol support
[*] RFCOMM TTY support
BNEP protocol support
[*] Multicast filter support
[*] Protocol filter support
HIDP protocol support
|
and
|**Linux Kernel Configuration:** //Networking -> Bluetooth subsystem support -> Bluetooth device drivers// |
|
HCI USB driver
< > HCI SDIO driver
< > HCI UART driver
< > HCI BCM203x USB driver
< > HCI BPA10x USB driver
< > HCI BlueFRITZ! USB driver
< > HCI VHCI (Virtual HCI device) driver
|
After booting the new kernel, load //btusb//
modprobe btusb
With the help of //hciconfig -a// from the [[software:bluez]] package, we see this:
hci0: Type: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0
Bringing up the device:
hciconfig hci0 up
After this the output of //hciconfig -a// has changed:
hci0: Type: USB
BD Address: 00:10:C6:81:A4:7C ACL MTU: 377:10 SCO MTU: 64:8
UP RUNNING
RX bytes:348 acl:0 sco:0 events:11 errors:0
TX bytes:38 acl:0 sco:0 commands:11 errors:0
Features: 0xff 0xfe 0x0d 0x38 0x08 0x08 0x00 0x00
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy:
Link mode: SLAVE ACCEPT
Name: 'Broadcom Bluetooth Module'
Class: 0x000000
Service Classes: Unspecified
Device Class: Miscellaneous,
HCI Ver: 1.2 (0x2) HCI Rev: 0x2 LMP Ver: 1.2 (0x2) LMP Subver: 0x6965
Manufacturer: Broadcom Corporation (15)
Quick check if there are some other Bluetooth devices arround, //hcitool scan// (also from the [[software:bluez]] package)
Scanning ...
00:19:1D:7F:93:34 Nintendo RVL-CNT-01
It found one of my Nintendo Wii remotes.
===== Special keys =====
You can find out what keycode is generated if you press a key by using //xev//.
Content of $HOME/.Xmodmap
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
Put this in your .xinitrc or some other script which is executed if X is started.
test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap
Now all keys or keycombinations which produce a keycode of 160, 174 or 176 have gotten a keysym name.
There are several possibilities of assigning functionality to those keysyms, I am using [[software::xbindkeys]].
Relevant lines of my configuration file ($HOME/.xbindkeysrc)
"amixer set PCM 1-"
XF86AudioLowerVolume
"amixer set PCM 1+"
XF86AudioRaiseVolume
"amixer set PCM toggle"
XF86AudioMute
Again put this in your .xinitrc or some other script which is executed if X is started.
test -r $HOME/.xbindkeysrc && xbindkeys &
===== ACPI =====
What most people want is, that when they close the lid of their laptop, it should suspend.
After closing the lid on this notebook, it needs arround 12 seconds till a ACPI event is thrown.
It's exactly the same behaviour in MS Windows. So it seems to be a feature, some sort of delay time.
The other thing which is a little bit special is that after booting the initial state of the lid is always //closed//.
cat /proc/acpi/button/lid/LID0/state
state: closed
This is no problem at all because if you close the lid for the first time, longer than arround 12 seconds, the lid state is still //closed//.
After opening the lid, it state changes to //open// and thenceforward the lid state is always correct.
If you are bothered by this you can use this custom DSDT ([[http://kratz00.org/files/custom_dsdt.hex|custom_dsdt.hex]]), using this the lid state is correct after booting the system. How to use this is covered in the [[software:linux_kernel]] building instructions.