Toshiba Satellite A300-1ND

Introduction
This article describes the installation and setup of the Toshiba Satellite A300-1ND laptop.

Part Number
PSAGCE-04700CG3

cat /proc/cpuinfo output
cat /proc/cpuinfo output

lspci output
output of the old lspci version

lspci

output of the new lspci version

lspci

lsusb output
lsusb

Serial ATA
From it can be concluded that computer utilizes Intel's Serial ATA AHCI Controller. For the built-in SATA hard disk to work it is obligatory to compile ATA_ACPI=y and SATA_AHCI=y under ATA=y in the Linux kernel.

Ethernet
Although in it is listed as Realtek RTL8101E/RTL8102E PCI Express Fast Ethernet controller it works flawlessly with CONFIG_R8169=y gigabit ethernet NETDEV_1000=y network NETDEVICES=y kernel driver.

Wireless LAN
Wireless local area network card WLAN=y is, as seen from, an Intel Wireless WiFi IWLWIFI=y for which it is necessary to load microcode (uCode) image in order to function and hence Intel Wireless WiFi Link Next-Gen AGN has to be compiled IWLAGN=y as well (and IWL5000=y under that also in order to enable Intel Wireless WiFi 5100AGN Link). It is however mandatory to.

Point-to-Point Protocol (PPP)
Using classical (mobile) phone modem requires point-to-point protocl PPP=y. Cell phone modems that are connected to a computer either via bluetooth or usb by the rule act as asynchronous serial ports so you have to enable PPP_ASYNC=y.

Input device support
As using some input devices on a laptop is practically a must, this compile INPUT=y is also a must. You need to compile INPUT_MOUSEDEV=y in order to acess mouse. Acorrding to the maximum screen resolution it should also be set INPUT_MOUSEDEV_SCREEN_X=1280 and INPUT_MOUSEDEV_SCREEN_Y=800. Also, access to input device events is highly recommended INPUT_EVDEV=y. Keyboard INPUT_KEYBOARD=y has to be compiled in. Synaptics touchpad is seen as mouse INPUT_MOUSE=y as well, more specifically as a mouse connected over PS/2 protocol MOUSE_PS2=y, hence these have to be compiled together in order to utilize all laptop functions. Since we have keyboard and touchpad connected over serial I/O, also SERIO=y is needed for compilation.

Hardware Monitoring support
Since tells us that laptop uses Intel Core 2 microarchitecture, we can exploit built-in its temperature sensors to monitor CPUs temperature. It is important simply to set SENSORS_CORETEMP=y, under HWMON=y.

Generic Thermal sysfs driver
Motherboard of the notebook has additional temperature sensor and in order to exploit it to measure temperature THERMAL=y is automatically compiled but more specifically THERMAL_HWMON=y has to be compiled as well. After compilation in your you will find additional sensor line.

Multimedia support
Listing of tells that there is a possibility to, among others, make home videos only by having this laptop model with you. Ok, ok, having only laptop with you is not sufficient for home videos, I agree... ;-) but anyhow, incorporated Chicony USB 2.0 Camera is supported by USB Video Class Linux device driver, USB_VIDEO_CLASS=y, found under V4L_USB_DRIVERS=y section of the VIDEO_CAPTURE_DRIVERS=y. Video For Linux, VIDEO_DEV=y user (Multi)media support MEDIA_SUPPORT=y, also has to be compiled in order for webcam to function properly in various programs like MPlayer or Skype.

Sound card support
Although in Audio sections of there is not a single word about Realtek, SND_HDA_CODEC_REALTEK=y is a necessity for your sound card to produce any sound. On the other hand to enable audio over HDMI interface include SND_HDA_CODEC_ATIHDMI=y. Both can be found inside the SND_HDA_INTEL=y section of SND_PCI=y. If you want your computer to beep, built SND_HDA_INPUT_BEEP=y. Sequencer, SND_SEQUENCER=y, and High-resolution timer, SND_HRTIMER=y, and defining it as default sequencer timer, SND_SEQ_HRTIMER_DEFAULT=y, are higly logical to include in the SOUND=y and SND=y.

MMC/SD/SDIO card support
As seen from the last five lines of the output, laptop possesses a card reader manufactured by Ricoh Company, Ltd. In order to utilize it, block device, MMC_BLOCK=y (with bounce buffer MMC_BLOCK_BOUNCE=y), and host controller interface, MMC_SDHCI=y (in particular MMC_SDHCI_PCI=y), drivers, under MMC=y, should be compiled in the kernel.

HID Devices
You need some interaction with a computer so enable various computer-human interface devices by HID_SUPPORT=y. If you would want to attach USB keyboards, USB mice or USB joystics you first have to enable generic hid support HID=y and then USB_HID=y, for usb human interface devices.

USB support
Certainly, USB is a must USB_SUPPORT=y for every modern PC. Hence enable Host-side USB support USB=y and under it EHCI HCD (USB 2.0) support USB_EHCI_HCD=y as well as UHCI HCD (USB 1.0) support USB_UHCI_HCD=y, which is suggested by. Do not enable USB 3.0 support, as the hardware does not posses suport for it. If you want to use USB modems which support the Communication Device Class Abstract Control Model interface (most of Sony Ericsson phones including K750i and W800i) enable USB_ACM=y. You will for sure want to use USB block devices like USB flash memories or SATA to USB hard drive converters, so better set USB_STORAGE=y.

Firmware Drivers
Laptop does not exploit any of the Firmware Drivers so compiling them only increases kernel size or number of modules.

Security options
As just secure by default, for everyday home computer applications Linux Kernel does not need any of the additional security options.

Cryptographic API
Only those Cryptographic API that are automatically included in the kernel are enough for most of the average Linux user needs.

Library routines
From library routines only automatically included CRC32 functions, CRC32=y, are neccessary, all other could be just skiped.