HP 635

From Random Projects
Jump to: navigation, search

This page describes the HP 635 laptop (product number LH415EA#ABD) and how to use it with Debian GNU/Linux.

This is a quite inexpensive laptop (among other things, because it's not shipped with Microsoft Windows), I paid €289.-.

Specification

See the official HP 635 page for a detailed specification.

Here's a short overview:

  • CPU: 1.6GHz AMD Dual-Core E350 (512 KB L2 cache per core)
  • Chipset: AMD A50M
  • RAM: 4GB 1333MHz DDR3 SDRAM (max. 8GB supported)
  • Graphics: ATI Mobility Radeon HD 4250
  • Display: 39.6 cm (15.6") LED-backlight HD AntiGlare (1366x768)
  • Hard drive: 320GB SATA 2.5" drive (Hitachi HTS543232A7A384)
  • Ethernet: 10/100 Ethernet LAN (Realtek RTL8101E/8102E)
  • Wifi/Bluetooth: 802.11b/g/n (Atheros AR9285) w/ Bluetooth 3.0 (Atheros AR3011)
  • Optical Drive: HP CD/DVD drive (DS8A5LH)
  • etc.

HOWTO

CPU

Works fine, see /proc/cpuinfo for details. CPU frequency scaling using cpufrequtils works fine too, see cpufreqinfo for details.

Graphics

Works fine out of the box. You need the firmware-linux package, though.

$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1366x768       60.0*+
   1280x720       59.9  
   1152x768       59.8  
   1024x768       59.9  
   800x600        59.9  
   848x480        59.7  
   720x480        59.7  
   640x480        59.4  
HDMI-0 disconnected (normal left inverted right x axis y axis)
VGA-0 disconnected (normal left inverted right x axis y axis)
$ glxinfo | grep -i direct
direct rendering: Yes
$ dmesg | grep -i radeon
[drm] radeon kernel modesetting enabled.
radeon 0000:00:01.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
radeon 0000:00:01.0: setting latency timer to 64
radeon 0000:00:01.0: VRAM: 384M 0x0000000000000000 - 0x0000000017FFFFFF (384M used)
radeon 0000:00:01.0: GTT: 512M 0x0000000018000000 - 0x0000000037FFFFFF
[drm] radeon: 384M of VRAM memory ready
[drm] radeon: 512M of GTT memory ready. 
radeon 0000:00:01.0: irq 44 for MSI/MSI-X 
radeon 0000:00:01.0: radeon: using MSI.
[drm] radeon: irq initialized.
radeon 0000:00:01.0: WB enabled
[drm] radeon: ib pool ready.
[drm] Radeon Display Connectors
[drm] Radeon display connector LVDS-1: Found valid EDID
[drm] Radeon display connector HDMI-A-1: No monitor connected or invalid EDID
[drm] Radeon display connector VGA-1: No monitor connected or invalid EDID
[drm] radeon: power management initialized
fbcon: radeondrmfb (fb0) is primary device
fb0: radeondrmfb frame buffer device 
[drm] Initialized radeon 2.11.0 20080528 for 0000:00:01.0 on minor 0

Audio

Works fine using the snd-hda-intel kernel module. I had to change the default card though, so that alsamixer etc. work out of the box:

$ cat /etc/asound.conf
pcm.!default {
        type hw
        card 1
}
ctl.!default {
        type hw
        card 1
}
$ cat /proc/asound/cards
0 [Generic        ]: HDA-Intel - HD-Audio Generic
                     HD-Audio Generic at 0xf0444000 irq 44
1 [SB             ]: HDA-Intel - HDA ATI SB
                     HDA ATI SB at 0xf0440000 irq 16

Hard drive

Works fine, of course. It's a Hitachi HTS543232A7A384 320GB SATA 2.5" drive.

$ hdparm -i /dev/sda
/dev/sda:
Model=Hitachi HTS543232A7A384, FwRev=ES2OA60W, SerialNo=xxxxxxxx
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=625142448
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes:  pio0 pio1 pio2 pio3 pio4 
DMA modes:  mdma0 mdma1 mdma2 
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 
AdvancedPM=yes: mode=0x80 (128) WriteCache=enabled
Drive conforms to: unknown:  ATA/ATAPI-2,3,4,5,6,7
* signifies the current active mode
$ hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
       Model Number:       Hitachi HTS543232A7A384
       Serial Number:      xxxxxxxx
       Firmware Revision:  ES2OA60W
       Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6
Standards:
       Used: unknown (minor revision code 0x0028)
       Supported: 8 7 6 5
       Likely used: 8
Configuration:
       Logical         max     current
       cylinders       16383   16383
       heads           16      16
       sectors/track   63      63
       --
       CHS current addressable sectors:   16514064
       LBA    user addressable sectors:  268435455
       LBA48  user addressable sectors:  625142448
       Logical/Physical Sector size:           512 bytes
       device size with M = 1024*1024:      305245 MBytes
       device size with M = 1000*1000:      320072 MBytes (320 GB)
       cache/buffer size  = 8192 KBytes (type=DualPortCache)
       Form Factor: 2.5 inch
       Nominal Media Rotation Rate: 5400
Capabilities:
       LBA, IORDY(can be disabled)
       Queue depth: 32
       Standby timer values: spec'd by Vendor, no device specific minimum
       R/W multiple sector transfer: Max = 16  Current = 16
       Advanced power management level: 128
       DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5
            Cycle time: min=120ns recommended=120ns
       PIO: pio0 pio1 pio2 pio3 pio4
            Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
       Enabled Supported:
          *    SMART feature set
               Security Mode feature set
          *    Power Management feature set
          *    Write cache
          *    Look-ahead
          *    WRITE_BUFFER command
          *    READ_BUFFER command
          *    NOP cmd
          *    DOWNLOAD_MICROCODE
          *    Advanced Power Management feature set
          *    48-bit Address feature set
          *    Device Configuration Overlay feature set
          *    Mandatory FLUSH_CACHE
          *    FLUSH_CACHE_EXT
          *    SMART error logging
          *    SMART self-test
          *    General Purpose Logging feature set
          *    64-bit World wide name
          *    IDLE_IMMEDIATE with UNLOAD
          *    WRITE_UNCORRECTABLE_EXT command
          *    {READ,WRITE}_DMA_EXT_GPL commands
          *    Segmented DOWNLOAD_MICROCODE
          *    Gen1 signaling speed (1.5Gb/s)
          *    Gen2 signaling speed (3.0Gb/s)
          *    Native Command Queueing (NCQ)
          *    Phy event counters
          *    Idle-Unload when NCQ is active
          *    DMA Setup Auto-Activate optimization
               Device-initiated interface power management
          *    Software settings preservation
          *    SMART Command Transport (SCT) feature set
          *    SCT LBA Segment Access (AC2)
          *    SCT Error Recovery Control (AC3)
          *    SCT Features Control (AC4)
          *    SCT Data Tables (AC5)
Security:
       Master password revision code = 65534
               supported
       not     enabled
       not     locked
       not     frozen
       not     expired: security count
               supported: enhanced erase
       90min for SECURITY ERASE UNIT. 92min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: xxxxxxxx
       NAA             : 5
       IEEE OUI        : 000cca
       Unique ID       : xxxxxxxx
Checksum: correct

Touchpad

Works out of the box, both in X11 and via gpm in the console.

$ dmesg | grep -i synaptics
Synaptics Touchpad, model: 1, fw: 7.5, id: 0x1e0b1, caps: 0xd00073/0x240000/0xa0400
input: SynPS/2 Synaptics TouchPad as /devices/platform/i8042/serio1/input/input8

Some "scrolling when dragging with two fingers" and similar stuff seems to work fine. You can configure various other touchpad settings using gpointing-device-settings. However, the tapping feature doesn't seem to work for me, not sure why. You can manually fix this by running synclient TapButton=1.

Keyboard

Works fine. I prefer to set/uncomment the KEYBOARD_RATE/KEYBOARD_DELAY settings in /etc/kbd/config (do /etc/init.d/kbd restart afterwards):

KEYBOARD_RATE="30"
KEYBOARD_DELAY="250"

Some special keys such as Fn+F2/F3 for adjusting brightness work fine, haven't tested all of them yet, though.

Ethernet

Works out of the box using the r8169 driver.

$ dmesg
r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
r8169 0000:06:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
r8169 0000:06:00.0: setting latency timer to 64
r8169 0000:06:00.0: irq 43 for MSI/MSI-X
r8169 0000:06:00.0: eth0: RTL8105e at 0xffffc90000664000, aa:bb:cc:xx:yy:zz, XID 00a00000 IRQ 43

Wifi / Bluetooth

I did a quick test of the wifi hardware using kismet (source=ath5k,wlan0,WLAN), no real wifi connections yet.

The Linux driver ath9k is used for wifi, ath3k is used for Bluetooth.

$ dmesg | grep -i ath
ath9k 0000:07:00.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
ath9k 0000:07:00.0: setting latency timer to 64
ath: EEPROM regdomain: 0x60
ath: EEPROM indicates we should expect a direct regpair map
ath: Country alpha2 being used: 00
ath: Regpair used: 0x60
ieee80211 phy0: Selected rate control algorithm 'ath9k_rate_control'
Registered led device: ath9k-phy0
ieee80211 phy0: Atheros AR9285 Rev:2 mem=0xffffc900050a0000, irq=23
$ dmesg
Bluetooth: Atheros AR30xx firmware driver ver 1.0
usbcore: registered new interface driver ath3k
usb 4-2: USB disconnect, device number 2
usb 4-2: new full speed USB device number 3 using ohci_hcd
usb 4-2: New USB device found, idVendor=03f0, idProduct=311d
usb 4-2: New USB device strings: Mfr=0, Product=0, SerialNumber=

The rfkill tool works fine for soft-blocking wifi/Bluetooth (and displaying the status), as does the Fn+F12 key combination.

$ rfkill list
0: hp-wifi: Wireless LAN
        Soft blocked: no
        Hard blocked: no
1: hp-bluetooth: Bluetooth
        Soft blocked: no
        Hard blocked: no
2: phy0: Wireless LAN
        Soft blocked: no
        Hard blocked: no
3: hci0: Bluetooth
        Soft blocked: no
        Hard blocked: no

Webcam

Works out of the box using the uvcvideo driver and a viewer such as mplayer tv:// or luvcview or cheese.

$ lsusb | grep 04f2
Bus 002 Device 002: ID 04f2:b293 Chicony Electronics Co., Ltd
$ dmesg | grep -i uvc
uvcvideo: Found UVC 1.00 device HP Webcam-101 (04f2:b293)
usbcore: registered new interface driver uvcvideo

HDMI

Untested.

CD/DVD drive

Reading CDs/DVDs works out of the box. Writing CDs/DVDs is untested so far.

$ modprobe sg
$ wodim -scanbus
scsibus0:
        0,0,0     0) 'ATA     ' 'Hitachi HTS54323' 'ES2O' Disk
[...]
scsibus1:
        1,0,0   100) 'hp      ' 'DVD A  DS8A5LH  ' '1H68' Removable CD-ROM
[...]
scsibus2:
        2,0,0   200) 'Generic-' 'xD/SD/M.S.      ' '1.00' Removable Disk
[...]
$ wodim -checkdrive
Device was not specified. Trying to find an appropriate drive...
Detected CD-R drive: /dev/cdrw
Using /dev/cdrom of unknown capabilities
Device type    : Removable CD-ROM
Version        : 5
Response Format: 2
Capabilities   : 
Vendor_info    : 'hp      '
Identification : 'DVD A  DS8A5LH  '
Revision       : '1H68'
Device seems to be: Generic mmc2 DVD-R/DVD-RW.
wodim: Cannot load media with this drive!
wodim: Try to load media by hand.
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
Driver flags   : MMC-3 SWABAUDIO BURNFREE FORCESPEED
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R

USB

Works out of the box.

SD / MemoryStick Pro / MMC / xD card reader

Untested.

VGA out

Untested.

Suspend

I tested suspend-to-disk and suspend-to-RAM via hibernate-disk / hibernate-ram, both seems to work fine.

Details

/proc/cpuinfo

$ cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 20
model		: 1
model name	: AMD E-350 Processor
stepping	: 0
cpu MHz		: 1600.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 6
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat npt lbrv svm_lock nrip_save pausefilter
bogomips	: 3193.04
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

processor	: 1
vendor_id	: AuthenticAMD
cpu family	: 20
model		: 1
model name	: AMD E-350 Processor
stepping	: 0
cpu MHz		: 1600.000
cache size	: 512 KB
physical id	: 0
siblings	: 2
core id		: 1
cpu cores	: 2
apicid		: 1
initial apicid	: 1
fpu		: yes
fpu_exception	: yes
cpuid level	: 6
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni monitor ssse3 cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch ibs skinit wdt arat npt lbrv svm_lock nrip_save pausefilter
bogomips	: 3193.19
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 36 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate

lspci

$ lspci -tvnn
-[0000:00]-+-00.0  Advanced Micro Devices [AMD] Family 14h Processor Root Complex [1022:1510]
           +-01.0  ATI Technologies Inc Wrestler [Radeon HD 6310] [1002:9802]
           +-01.1  ATI Technologies Inc Wrestler HDMI Audio [Radeon HD 6250/6310] [1002:1314]
           +-11.0  ATI Technologies Inc SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] [1002:4391]
           +-12.0  ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
           +-12.2  ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
           +-14.0  ATI Technologies Inc SBx00 SMBus Controller [1002:4385]
           +-14.2  ATI Technologies Inc SBx00 Azalia (Intel HDA) [1002:4383]
           +-14.3  ATI Technologies Inc SB7x0/SB8x0/SB9x0 LPC host controller [1002:439d]
           +-14.4-[01]--
           +-14.5  ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI2 Controller [1002:4399]
           +-15.0-[02-05]----00.0  Realtek Semiconductor Co., Ltd. RTS5116 PCI Express Card Reader [10ec:5209]
           +-15.1-[06]----00.0  Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller [10ec:8136]
           +-15.3-[07]----00.0  Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) [168c:002b]
           +-16.0  ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller [1002:4397]
           +-16.2  ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller [1002:4396]
           +-18.0  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 0 [1022:1700]
           +-18.1  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 1 [1022:1701]
           +-18.2  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 2 [1022:1702]
           +-18.3  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 3 [1022:1703]
           +-18.4  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 4 [1022:1704]
           +-18.5  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 6 [1022:1718]
           +-18.6  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 5 [1022:1716]
           \-18.7  Advanced Micro Devices [AMD] Family 12h/14h Processor Function 7 [1022:1719]

See HP 635/lspci for a full verbose lspci.

lsusb

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 002: ID 04f2:b293 Chicony Electronics Co., Ltd 
Bus 004 Device 002: ID 03f0:311d Hewlett-Packard Atheros AR9285 Malbec Bluetooth Adapter

See HP 635/lsusb for a full verbose lsusb.

cpufreqinfo

$ cpufreq-info
cpufrequtils 007: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to cpufreq@vger.kernel.org, please.
analyzing CPU 0:
  driver: powernow-k8
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 1000 ns.
  hardware limits: 800 MHz - 1.60 GHz
  available frequency steps: 1.60 GHz, 1.28 GHz, 800 MHz
  available cpufreq governors: userspace, powersave, conservative, ondemand, performance
  current policy: frequency should be within 800 MHz and 1.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz.
  cpufreq stats: 1.60 GHz:41.83%, 1.28 GHz:0.42%, 800 MHz:57.74%  (3555)
analyzing CPU 1:
  driver: powernow-k8
  CPUs which run at the same hardware frequency: 1
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 1000 ns.
  hardware limits: 800 MHz - 1.60 GHz
  available frequency steps: 1.60 GHz, 1.28 GHz, 800 MHz
  available cpufreq governors: userspace, powersave, conservative, ondemand, performance
  current policy: frequency should be within 800 MHz and 1.60 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 1.60 GHz.
  cpufreq stats: 1.60 GHz:38.22%, 1.28 GHz:0.63%, 800 MHz:61.15%  (2494)

dmesg

See HP 635/dmesg.