GNU/Linux on a Toshiba
Satellite A80-131
Slackware and kernel 2.6.x
Author is Ivan
Morgillo
imorgillo /at/ sanniolug
/dot/ org

This work is licensed under a Creative
Commons Attribution-NonCommercial-ShareAlike 2.5 License.
Hi, I'm trying to get this
notebook working with my Slackware.
Almost
everything seems to work good. To have an idea of hardware look at toshiba.
Update
07092005
- SATA DVD kernel hack
- Mouse
- PCMCIA
Processor
root@hamen:/home/ivan# cat /proc/cpuinfo
processor :
0
vendor_id :
GenuineIntel
cpu family : 6
model
: 13
model name : Intel(R)
Pentium(R) M
processor 1.60GHz
stepping
: 8
cpu
MHz
: 1596.010
cache size : 64 KB
fdiv_bug
: no
hlt_bug
: no
f00f_bug
: no
coma_bug
: no
fpu
: yes
fpu_exception : yes
cpuid level : 2
wp
: yes
flags
: fpu
vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush
dts acpi mmx fxsr sse sse2 ss tm pbe tm2 est
bogomips
: 3153.92
It works with a generic kernel, but I recompile to get a complete
support:
Processor type and features --> Processor Family
--> Pentium
M
Don't select Toshiba
Laptop support,
because "... It does not work on models with a Phoenix BIOS... ". This
baby has a Phoenix BIOS.
Hard Disk
Someome will say: This guy has some "problem"!!. It wasn't my fault if
I spent two days trying to get this HD working! I have problems with
DMA and VFS. I had errors like:
ide0: I/O resource 0x1F0-0x1F7 not free.
ide0: ports already in use, skipping probe
and
Kernel Panic, VFS cannot mount unknown-block....
and
Your dma is not active... ans so on.
At the and I got my answer: MY HD IS SATA!!
I need SATA support in my kernel.
-> Device Drivers
-> SCSI device support
->
SCSI device support
-> SCSI
low-level drivers
-> Seria ATA (SATA) Support
-> Intel PIIX/ICH SATA support
It works now :)
root@hamen:~# hdparm -tT /dev/sda
/dev/sda:
Timing buffer-cache reads: 3160 MB
in 2.00
seconds = 1579.45 MB/sec
Timing buffered disk reads: 82 MB
in 3.05
seconds = 26.90 MB/sec
Oh, my hd device is /dev/sda now, because of SCSI :)
For this reason I had to edit my /etc/fstab file:
...
/dev/sdax
swap
swap
defaults
0 0
/dev/sday
/
reiserfs
defaults
1 1
...
DVD
Update
Some smart people found a trick to enable some experimental
SATA ATAPI stuff in kernel sources.
In drivers/scsi/ata_piix.c
Change:
- PIIX_COMB_PATA_P0 = (1 << 1),
- PIIX_COMB = (1 << 2), /* combined mode enabled? */
to:
+ PIIX_COMB_PATA_P0 = (1 << 0),
+ PIIX_COMB = (1 << 1), /* combined mode enabled? */
In include/linux/libata.h
Change:
-#undef ATA_ENABLE_ATAPI /* define to enable ATAPI support */
-#undef ATA_ENABLE_PATA /* define to enable PATA support in some
to:
+#define ATA_ENABLE_ATAPI 1 /* define to enable ATAPI support */
+#define ATA_ENABLE_PATA 1 /* define to enable PATA support in...
I tried this
solution for a
while. My kernel stucks many times :(
I found another "solution": kernel module.
I load that module just when I need it, so kernel doesn't freeze :)
Waiting for kernel developers...
ACPI
Acpi is supported. I selected everything in
Power Management option --> ACPI --> ...
Select Toshiba Laptop Extras, too.
It seems "to go".
Ethernet and Wi-Fi
"lspci" returned:
0000:02:00.0 Ethernet controller: Marvell Technology Group Ltd.:
Unknown device 4351 (rev 10)
Subsystem: Toshiba America
Info Systems: Unknown device ff00
Flags: bus master, fast
devsel, latency 0, IRQ 10
Memory at b0000000 (64-bit,
non-prefetchable) [size=16K]
I/O ports at 3000 [size=256]
Capabilities: [48] Power
Management version 2
Capabilities: [50] Vital
Product Data
Capabilities: [5c] Message
Signalled Interrupts: 64bit+ Queue=0/1 Enable-
Capabilities: [e0] #10 [0011]
0000:06:02.0 Network controller: Intel Corp. PRO/Wireless 2200BG (rev
05)
Subsystem: Intel Corp.:
Unknown device 2741
Flags: bus master, medium
devsel, latency 32, IRQ 22
Memory at b4006000 (32-bit,
non-prefetchable) [size=4K]
Capabilities: [dc] Power
Management version 2
This ethernet is a bit strange. It's a Marvell Yukon 88E8036 PCI-E Fast
Ethernet Controller. It doesn't work with a generic kernel. I found
some info around the net and I got that this card is also known as
SysKonnect chip. Fast Ethernet 10/100 PCI-E. It work with sk98lin
driver. I took the driver from SysKonnect
site.
Installation is not hard. After you unpacked file install-8_16.tar.bz2,
you can run installation script:
# ./install.sh
You can create a kernel module or patch your kernel sources to get a
new card in menu:
-> Device drivers
-> Networking Support
->
Ethernet (1000 Mbit)
-> Marvell
Yukon Chipset / SysKonnect SK-98xx Support
I preferred this last mode. I selected <M> to get my
"sk98lin"
module. Hotplug can load this module at startup.
I edited my /etc/rc.d/rc.inet1.conf:
...
# Config information for eth0:
IPADDR[0]="192.168.0.100"
NETMASK[0]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""
# Config information for eth1:
IPADDR[1]="192.168.0.101"
NETMASK[1]="255.255.255.0"
USE_DHCP[0]=""
DHCP_HOSTNAME[0]=""
...
In this way I have a good working network configuration:
root@hamen:~# ifconfig
eth0 Link
encap:Ethernet HWaddr
00:11:22:66:6A:88
inet
addr:192.168.0.100 Bcast:192.168.0.255
Mask:255.255.255.0
UP BROADCAST
MULTICAST MTU:1500 Metric:1
RX packets:0
errors:0 dropped:0 overruns:0 frame:0
TX packets:0
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:1000
RX bytes:0 (0.0
b) TX bytes:0 (0.0 b)
Interrupt:16
Memory:b0000000-0
eth1 Link
encap:UNSPEC HWaddr
00-11-22-33-6A-40-42-BD-A3-00-00-00-00-00-00-00
inet
addr:192.168.0.101 Bcast:192.168.0.255
Mask:255.255.255.0
UP BROADCAST
RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0
errors:0 dropped:0 overruns:0 frame:0
TX packets:0
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:1000
RX bytes:0 (0.0
b) TX bytes:0 (0.0 b)
lo
Link encap:Local Loopback
inet
addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK
RUNNING MTU:16436 Metric:1
RX packets:8
errors:0 dropped:0 overruns:0 frame:0
TX packets:8
errors:0 dropped:0 overruns:0 carrier:0
collisions:0
txqueuelen:0
RX bytes:620
(620.0 b) TX bytes:620 (620.0 b)
eth0 is the "strange" Marvell NIC and eth1 is firewire.
sk98lin driver comes with a tool to set some stuff for NIC that is
"ethtool". Try it to decide if it's usefull.
WiFi card is an Intel 2200BG card. There's an interesting project on http://ipw2200.sourceforge.net/
They provide a "driver" as kernel module and a firmware for hotplug.
INSTALL file is very easy to understand. After I got ipw2200-1.0.4.gz
and ipw2200-fw-2.3.gz, I unpacked ipw2200-fw-2.3.gz in /usr/lib/hotplug/firmware
with:
# cp ipw2200-fw-2.3.gz /usr/lib/hotplug/firmware
# tar zxf ipw2200-fw-2.3.gz
# rm ipw2200-fw-2.3.gz
Then I unpacked ipw2200-1.0.4.gz with:
# tar ipw2200-1.0.4.gz
# cd ipw2200-1.0.4
and, always as root, I run "make" and "make install".
For a complete list of what you need to add to your kernel, consult
INSTALL file.
Is seems to work, but I'm waiting for a wireless lan to connect to.
Sorry.
Firewire IEEE 1394
Slackware load a couple drivers to get it working. I don't have
firewire "stuff", so I didn't try yet.
SoundCard
"lspci" returned:
0000:00:1e.2 Multimedia audio controller: Intel Corp.
82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
Subsystem: Toshiba America
Info Systems: Unknown device ff00
Flags: bus master, medium
devsel, latency 0, IRQ 17
I/O ports at 1c00 [size=256]
I/O ports at 1880 [size=64]
Memory at 80000800 (32-bit,
non-prefetchable) [size=512]
Memory at 80000400 (32-bit,
non-prefetchable) [size=256]
Capabilities: [50] Power
Management version 2
In "Alsa" opinion this card is:
Card: Intel
ICH
│
Chip: Realtek ALC250 rev 2
# alsaconf
# alsamixer --> to unmute volume
# alsactl store --> to have your settings every boot
time
Modem
"lspci" returned:
0000:00:1e.3 Modem: Intel Corp. 82801FB/FBM/FR/FW/FRW (ICH6 Family)
AC'97 Modem Controller (rev 03) (prog-if 00 [Generic])
Subsystem: Toshiba America
Info Systems: Unknown device 0001
Flags: bus master, medium
devsel, latency 0, IRQ 11
I/O ports at 2400 [size=256]
I/O ports at 2000 [size=128]
Capabilities: [50] Power
Management version 2
I don't need it at this moment. But I thing AC'97 modems are very
common. Maybe some "guru" wrote a driver.
PCMCIA
0000:06:04.0 CardBus bridge: Texas Instruments: Unknown device 8031
Subsystem: Toshiba America
Info Systems: Unknown device ff00
Flags: bus master, medium
devsel, latency 64, IRQ 10
Memory at b4007000 (32-bit,
non-prefetchable) [size=4K]
Bus: primary=06,
secondary=07, subordinate=0a, sec-latency=176
I/O window 0:
00000000-00000003
I/O window 1:
00000000-00000003
16-bit legacy interface
ports at 0001
Slackware load some modules for pcmcia. It seems a standard "yenta":
# lsmod
...
yenta_socket
20104 0
rsrc_nonstatic
9216 1 yenta_socket
pcmcia_core
42400 2 yenta_socket,rsrc_nonstatic
...
Working...
VIDEO CARD
0000:01:00.0 VGA compatible controller: nVidia Corporation: Unknown
device 0167 (rev a1) (prog-if 00 [VGA])
Subsystem: Toshiba America
Info Systems: Unknown device ff00
Flags: bus master, fast
devsel, latency 0, IRQ 10
Memory at a0000000 (32-bit,
non-prefetchable) [size=16M]
Memory at c0000000 (64-bit,
prefetchable) [size=128M]
Memory at 90000000 (64-bit,
non-prefetchable) [size=16M]
Capabilities: [60] Power
Management version 2
Capabilities: [68] Message
Signalled Interrupts: 64bit+ Queue=0/0 Enable-
Capabilities: [78] #10 [0001]
I took NVIDIA drivers on ftp://download.nvidia.com/XFree86/nvidia-installer/
Installation is very easy. Turn off your X if you are running
a WindowManager. At prompt:
# sh NVIDIA-Linux-x86-1.0-7174-pkg1.run
At first installer looks for support in your kernel. I didn't have this
stuff compiled. Installer compiled module using kernel sources in /usr/src/linux-2.6.11.11
Then I edited my /etc/X11/xorg.conf
:
...
Section "Device"
Identifier "NVIDIA"
Driver "nvidia"
VideoRam
65536
# Insert Clocks lines here if appropriate
EndSection
...
Section "Screen"
Identifier "Screen 1"
Device "NVIDIA"
Monitor "My Monitor"
...
Save and exit. Start your WindowManager and... great! My notebook goes
faster now. I can play TuxRacer now!! :)
MOUSE
This guy is an AlpsPS/2 ALPS GlidePoint
Here is X config file cut:
...
Section "InputDevice"
Driver "synaptics"
Identifier "Touchpad"
Option "Device"
"/dev/input/event2"
# Option "CorePointer"
Option "Protocol" "event"
Option "LeftEdge" "60"
Option "RightEdge" "830"
Option "TopEdge" "70"
Option "BottomEdge" "650"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "110"
Option
"EmulateMidButtonTime" "75"
Option "VertScrollDelta" "50"
Option "HorizScrollDelta" "50
Option "MinSpeed" "0.02"
Option "MaxSpeed" "0.5"
Option "AccelFactor" "0.01"
Option "EdgeMotionSpeed" "40"
Option "UpDownScrolling" "1"
Option "TouchpadOff" "0
# Option "SHMConfig"
"on"
EndSection
...
...
Section "ServerLayout"
Identifier "Default
Layout"
Screen
"Default
Screen"
InputDevice "Generic Keyboard"
#
InputDevice
"Configured Mouse"
#
InputDevice "Generic
Mouse"
InputDevice "Touchpad"
"CorePointer"
...
Scroll on touchpad is so cool and usefull. Drag and drop on
the left side of touchpad for vertical scroll. For Horiz, on the
bottom. :)
TO DO
- Card reader is not working
at this time
USEFULL STUFF
Here's some stuff you can use to get a "working" system as soon as
possible:
CREDITS
Thanks to my parents and to my part-time job. My money doesn't come
from sky!
Ivan Morgillo