Toshiba Tecra M7 Tablet Support linux (Gentoo)
Update 10.04.2007: Finger print reader + pam authentication = working!
- Gentoo Power Management Guide
- The Toshiba Linux Utilities
- Linux on the HP/Compaq TC1100 Tablet PC Article on setting up a functional linux tablet.
- HOWTO Wacom Tablet
- Tecra M7 and FC6
Updates 10.04.2007
- Fingerprint Reader working!
Updates 27.03.2007
- Sound working
- Posted xorg.conf
- Detailed info for touchpad
- Card Reader: mixed sucess
- Touch Screen Working w/ stylus
- Kernel Info
Updates 24.01.2007
- Clarified the wired NIC section
- Updated the toshiba-utils bit with new info
- Expanded the sound section
- Still no luck with the tablety features
System Information - updated
$ sudo lspci 00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03) 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02) 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02) 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02) 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02) 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02) 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02) 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2) 00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02) 00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02) 01:00.0 VGA compatible controller: nVidia Corporation Quadro NVS 110M (rev a1) 02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller 03:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 04:0b.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller 04:0b.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller 04:0b.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) 04:0b.3 Class 0805: Texas Instruments PCIxx12 SDA Standard Compliant SD Host Con troller $ uname -a Linux localhost 2.6.20-viper6 #1 SMP Tue Mar 27 19:27:48 EDT 2007 i686 Intel(R)
Core(TM) Duo CPU T2700 @ 2.33GHz GenuineIntel GNU/Linux
Kernel Configs, ACPI, and Power
Almost27.03.2007: Today I am using the 2.6.20-viper6 sources. Below are some of my .config settings, that aren't custom kernel specific
Processor type and features ---> Processor family (Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon [*] Symmetric multi-processing support (2) Maximum number of CPUs (2-255) [ ] SMT (Hyperthreading) scheduler support [*] Multi-core scheduler support [*] Preempt The Big Kernel Lock [*] Machine Check Exception <*> Toshiba Laptop support
The gentoo power management guide I posted a link to at the top is very helpful - especially the "Reacting On ACPI Events" bit.
Battery monitoring works properly. The gnome battery applet does not report times, but the gnome power management dialogue (in System > Preferences > Power Management) will put an applet in your upper panel that does report times.
Below is a copy of my ACPI kernel settings
Power Management Options --->
[*] Power Management Support
[ ] Software Suspend
[*] Suspend2 ---->
[*] Swap Writer
ACPI( Advanced Configuration and Power Interface ) Support --->
[*] ACPI Support
[*] Sleep States
[ ] /proc/acpi/sleep (deprecated)
[*] AC Adapter
[*] Battery
<*> Button
< > Video
[ ] Generic Hotkey
<*> Fan
<*> Processor
<*> Thermal Zone
< > ASUS/Medion Laptop Extras
< > IBM ThinkPad Laptop Extras
<*> Toshiba Laptop Extras
(2001) Disable ACPI for systems before Jan 1st this year
[*] Debug Statements
CPU Frequency Scaling --->
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
<*> CPU frequency translation statistics
[ ] CPU frequency translation statistics details
Default CPUFreq governor (userspace)
<*> 'performance' governor
<*> 'powersave' governor
<*> 'ondemand' cpufreq policy governor
'conservative' cpufreq governor
--- CPUFreq processor drivers
<*> ACPI Processor P-States driver
<*> Intel Pentium 4 clock modulation
Still to do: verify Suspend2 works (and start using it), test power saving settings.
Kernel Config ATA drivers
Working!With the most recent kernels there are two sections for ATA drivers. One is stable, and one is experimental. I have been using the experimental drivers without a hitch since they appeared in 2.6.19 I believe.
I have the entire older category unselected:
< > ATA/ATAPI/MFM/RLL support
And I have the following options enabled:
Device Drivers --> SCSI device support ---> <*> SCSI disk support <*> SCSI generic support Serial ATA (prod) and Parallel ATA (experimental) drivers ---> <*> ATA device support <*> Intel PIIX/ICH SATA support
Toshiba Laptop Utils i.e. hotkeys, display switch, fan, etc
AlmostWith gcc version 4.1.1 toshiba-utils fails to compile. Waiting on a patch to the bug report A new version of toshiba-utils came out
but it has another compilation error. I'll keep this page updated in the meantime look at the bugzilla report
In the meantime I have had success app-laptop/fnfx-0.3. From the ebuild description, "Daemon and client allowing use of Toshiba special keys." I can verify that the brightness key, video out key, both keypad keys work, and the mute key (fn+esc) does not work.
Also, I have not gotten the two buttons on the left side of the keyboard to work. Xev doesn't detect any events when I push them, which means the driver is not loaded/working.
Graphics: NVIDIA nVidia Quadro NVS 110M
Working!The nvidia-drivers ebuild works wonderfully. The first thing I did after installing Xorg was to install XGL + beryl. It is simply beautiful.
Long overdue.. here is my xorg.conf (I am using xorg 7.2). This includes:
- 1440x900 Modeline
- InputDevice section for touchpad, and the various stylus components
- RenderAccel
- Screen Rotation
- Good looking fonts with 96x96 DPI
- glx, dri, freetype, type1, dbe modules
You will probably want to double check font paths, installed modules, etc.
A side note here.. after every kernel recompile you will need to re compile your nvidia drivers, alsa drivers, and linuxwacom drivers.
Wired NIC
Working!Make sure and enable the correct devices in your kernel config, CONFIG_E1000 (Intel(R) PRO/1000). Works with minimal effort.
Sound
Working!The alsa driver is 'hda-intel'. In Gentoo I added ALSA_CARDS="hda-intel" to my make.conf, remerged alsa-driver, alsa-headers, alsa-lib, and alsa-utils, then: sudo /etc/init.d/alsasound start && sudo alsaconf.. adjust volume settings with alsamixer!.
The previous issue where everything appeared to be correct, but there was no sound has been resolved. I am not sure which version of ALSA it was, but as of this writing (02.27.2007) I am using ALSA version 1.0.14_rc3 and my playback + recording works dandy. I have not tried to get the volume control on the front working (which it doesn't).
Internal Wireless Card
Working!Install wireless-tools. The kernel module is ipw3945. Took a little bit of fiddling, but it works just fine once everything is installed.
Here are some more instructions regarding the wireless card. enable: CONFIG_IEEE80211, CONFIG_IEEE80211_CRYPT_WEP, CONFIG_IEEE80211_CRYPT_CCMP, CONFIG_IEEE80211_CRYPT_TKIP in the kernel. Install at least ipw3945 version 1.2.0, but make sure net-wireless/ieee80211 is not installed. Somewhere along the line the ipw3945 switched from using a separate version of IEEE80211 to using the built in kernel's.
Touchpad, USB storage, PCMCIA, card reader
Working! - PCMCIA bus untested, but verified by other peopleMake sure and enable the Synaptics option in the kernel, and merge x11-drivers/synaptic. Check my xorg.conf above for the correct xorg settings.
Device Drivers ---> MMC/SD Card support -->MMC support [ ] MMC debugging MMC block device driver < > Secure Digital Host Controller Interface support (EXPERIMENTAL) < > Winbond W83L51xD SD/MMC Card Interface support TI Flash Media MMC/SD Interface support (EXPERIMENTAL) Misc devices ---> TI Flash Media interface support (EXPERIMENTAL) TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL) File systems ---> <*> DOS FAT fs support <*> MSDOS fs support < > UMSDOS: Unix-like file system on top of standard MSDOS fs <*> VFAT (Windows-95) fs support
Fingerprint Reader
Working!Relevant lsusb bit:
Bus 003 Device 002: ID 0483:2016 SGS Thomson Microelectronics Fingerprint Reader
This is awesome! It works so seamlessly! According to this gentoo wiki entry UPEK offers a commercial driver and application (BioAPI) for the reader, but I couldn't get it to work. For future reference the error codes I got were 0x180d, and 0x194d. However, there is an awesome open source driver called ThinkFinger. On gentoo installation was as easy as "emerge thinkfinger". The directions at the end of the install detail exactly how to use it, but in case you need them again:
* Use tf-tool --acquire to take a finger print * tf-tool will write the finger print file to /tmp/test.bir * * To add a fingerprint to PAM, use tf-tool --add-user USERNAME * * Add the following to /etc/pam.d/system-auth after pam_env.so * auth sufficient pam_thinkfinger.so * * Your system-auth should look similar to: * auth required pam_env.so * auth sufficient pam_thinkfinger.so * auth sufficient pam_unix.so try_first_pass likeauth nullok
Tablety Things
Working! - improvements in functionality expected (automatic rotation etc.)I went back today to try and the touchscreen working. I updated to the latest wacom drivers 0.7.6_p4 and it was easy as pie. I used setserial to add the tablet as a serial device. You will probably have to emerge setserial, I am using 2.17-r3.
setserial /dev/ttyS0 port 0x0338 irq 4 autoconfig
Then I used wacdump (as root) to see if the stylus was being detected.
wacdump -f c100 /dev/ttyS0
X still needed to know about the stylus...so I then copied some xorg.conf settings from the Tecra M4 entry on the gentoo wiki. I changed them a bit, so to see exactly which options I used for my stylus check my xorg.conf, which is linked above
On to rotation. Here it is important to have at least the version of linuxwacom I mentioned before.. previous versions do not support rotating stylus entry. That is.. if X inverted the display the stylus wouldn't know and entry using the stylus would be backwards. Using the xsetwacom utility to set the orientation. I found a nifty script from the Tea Kada Blog. He actually has a write-up similar to this one about the M7 and FC6. The script simply detects which mode you are in and then switches accordingly. I actually changed Tea Kada's original version to flip the screen 180 degrees rather then only 90 to the right.. it is rather simple to change according to preference.
Coming Soon... dynamic wacom detection with udev rules, ACPI event notification for automatic screen rotation, fingerprint scanner, putting the monitor buttons to use, and testing the PCMCIA cardbus.
Please contact me with any questions you have, or check out the Gentoo Forums.
Hope I Could Help - KC