Translation(s): none

(!) ?Discussion

DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owner would know how get the best out of that hardware.

The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware.

Models covered
?OneTwo

Sub-models (M3700) options :
- Video card: Intel GM45 (X4500)
- Screen size: 20" (1600x900)
- Disk: SATA 320 GB
- RAM: 4 GB
- Optical device: SATA combo DVD drive
- Quanta optical touch screen

The Packard Bell ?OneTwo (M3700) is a 600 Euros all-in-one computer with a 20″ multipoint touch screen; other models offer a 23" touch screen, wifi and some other options.

Overall Status

Core Components

photo.jpg

Boot Standard Kernel:

{OK}

LAN network card:

{i} Needs 2.6.30

Detect CD/DVD:

{OK}

Detect hard drives:

{OK}

Extra Features

CPU Frequency Scaling

[?]

Hibernation

[?]

Sleep / Suspend

[?]

Xorg

{i} Needs recent X and intel driver

- OpenGL

{OK}

- Resize-and-Rotate(randr)

{OK}

Switch to External Screen

[-]

Mouse

- Built-in (Trackpoint)

[-]

- Built-in (Touchpad)

[-]

Modem

[-]

Wireless/Wifi

[-]

Keyboard's Hotkeys

[-]

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a non-free driver and or firmware

Configuration

Display

The machine is offered in two display configurations: 20" and 23". Except for the native resolution (1600x900 and 1920x1080 resp.), the configuration is identical in both cases.

First of all, reboot the machine, enter the BIOS and set the GPU memory to 256 MB. By default, the machine ships with only 64 MB dedicated to the GPU.

There is a quirk on this machine with regard to the display: the LCD is actually wired up to both the VGA and the LVDS outputs on the graphic card, and advertises different resolutions on both. The native resolution (1600×900 on this model) is only advertised on the LVDS output.

While fiddling with X, it becomes obvious that the VGA output is used as the boot video device. If you disable the output in X with xrandr, you loose the text consoles. My un(?)educated guess is that this setup allowed them to use a standard desktop PC BIOS instead of using a more expensive laptop BIOS. I may be wrong, but that’s pretty much the only thing that makes sense to me.

Anyway. If you want X to work properly, you’ll have to tell it to ignore the VGA output entirely.

Section "Device"
 Identifier      "Intel X4500"
 Option          "Monitor-LVDS"  "Panel on LVDS"
 Option          "Monitor-VGA"   "Panel on VGA"
EndSection

Section "Monitor"
 Identifier      "Panel on LVDS"
EndSection

Section "Monitor"
 Identifier      "Panel on VGA"
 # The LCD panel is wired up on both VGA and LVDS
 # Ignore the VGA output as far as X is concerned
 Option          "Ignore"        "True"
EndSection

If you don’t tell X to ignore the VGA output, you’ll end up with a mirror setup and your desktop will use the smallest size so as to fit on both monitors. It isn’t pretty, it’s plain silly and we want those 20″ used fully, dammit!

Touch screen

The touch screen is an infrared multipoint touch screen from Quanta. No kernel driver is needed, only an input driver for X is required.

Start by adding an udev rule like this one:

SUBSYSTEM=="usb", ATTRS{idVendor}=="0408", ATTRS{idProduct}=="3000", SYMLINK+="usb/quanta_touch"

The touch screen will now appear as /dev/usb/quanta_touch, which is more handy and stable than /dev/usb/hiddevN.

Grab xf86-input-hidtouch from HidTouch Suite on SF.net, and apply the patch attached below. The aim of the patch is to ignore anything but the first reported pressure point. The touch screen is a multipoint touch screen and as such can report 2 or 3 (not sure) pressure points at the same time. The driver can’t handle that … yet. The patch also fixes a bad comment and an API difference with newer X versions.

Build and install the driver, then edit xorg.conf:

Section "InputDevice"
 Identifier      "Optical Touch Screen"
 Driver          "hidtouch"
 Option          "SendCoreEvents"        "true"
 Option          "ReportingMode"         "Raw"
 Option          "Device"                "/dev/usb/quanta_touch"
 Option          "PacketCount"           "13"
 Option          "OpcodePressure"        "852034"
 Option          "OpcodeX"               "65584"
 Option          "OpcodeY"               "65585"
 Option          "CalibrationModel"      "1"
 Option          "CornerTopLeftX"        "0"
 Option          "CornerTopLeftY"        "0"
 Option          "CornerTopRightX"       "1600" # 1920 for 23"
 Option          "CornerTopRightY"       "0"
 Option          "CornerBottomLeftX"     "0"
 Option          "CornerBottomLeftY"     "900"  # 1080 for 23"
 Option          "CornerBottomRightX"    "1600" # 1920 for 23"
 Option          "CornerBottomRightY"    "900"  # 1080 for 23"
 Option          "CornerScreenWidth"     "1600" # 1920 for 23"
 Option          "CornerScreenHeight"    "900"  # 1080 for 23"
EndSection

There you are. Working touch screen!

Audio

The Realtek ALC268 codec as used in the ?OneTwo isn’t properly supported yet, however using model=acer-aspire works for the integrated speakers and the headphone jack. Line out and the integrated microphone do not work.

Webcam

The webcam is a UVC webcam and the image quality is stunning. It works out of the box without any firmware. Quite a good surprise :)

Flash card reader

The integrated flash card reader works out of the box, for card formats supported by Linux.

Power Management

Untested.


System Summary

lspci

00:00.0 Host bridge [0600]: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub [8086:2a40] (rev 09)
00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 09)
00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 09)
00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 03)
00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 03)
00:1a.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 03)
00:1a.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 [8086:293c] (rev 03)
00:1b.0 Audio device [0403]: Intel Corporation 82801I (ICH9 Family) HD Audio Controller [8086:293e] (rev 03)
00:1c.0 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 [8086:2940] (rev 03)
00:1c.1 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 [8086:2942] (rev 03)
00:1c.4 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 [8086:2948] (rev 03)
00:1c.5 PCI bridge [0604]: Intel Corporation 82801I (ICH9 Family) PCI Express Port 6 [8086:294a] (rev 03)
00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 03)
00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 03)
00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 03)
00:1d.7 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 [8086:293a] (rev 03)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 93)
00:1f.0 ISA bridge [0601]: Intel Corporation ICH9M LPC Interface Controller [8086:2919] (rev 03)
00:1f.2 SATA controller [0106]: Intel Corporation ICH9M/M-E SATA AHCI Controller [8086:2929] (rev 03)
00:1f.3 SMBus [0c05]: Intel Corporation 82801I (ICH9 Family) SMBus Controller [8086:2930] (rev 03)
04:00.0 System peripheral [0880]: JMicron Technology Corp. SD/MMC Host Controller [197b:2382]
04:00.2 SD Host controller [0805]: JMicron Technology Corp. Standard SD Host Controller [197b:2381]
04:00.3 System peripheral [0880]: JMicron Technology Corp. MS Host Controller [197b:2383]
05:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 03)

lsusb

lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null

Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 EHCI Host Controller
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 007 Device 002: ID 04f2:b104 Chicony Electronics Co., Ltd 
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  iProduct                1 CNF7069
      (Bus Powered)
  bDeviceClass          239 Miscellaneous Device
  bDeviceProtocol         1 Interface Association
  (Bus Powered)
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 EHCI Host Controller
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 003 Device 002: ID 0408:3000 Quanta Computer, Inc. 
  bDeviceClass            0 (Defined at Interface level)
  bDeviceProtocol         0 
  iProduct                2 Optical Touch Screen
      (Bus Powered)
  (Bus Powered)
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  bDeviceClass            9 Hub
  bDeviceProtocol         0 Full speed (or root) hub
  iProduct                2 UHCI Host Controller

USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.

Resources

Attachments

  • [get | view] (2009-12-25 15:01:53, 2.5 KB) [[attachment:hidtouch.patch]]
  • [get | view] (2009-12-25 15:03:08, 6.3 KB) [[attachment:photo.jpg]]
  • [get | view] (2009-12-25 15:01:25, 1.9 KB) [[attachment:xorg.conf]]
 All files | Selected Files: delete move to page

Credits

The above touch screen setup instructions, including the patch (which I reworked slightly…) were taken from this post on the Ubuntu-fr.org forum. The instructions cover the Packard Bell Viseo 200T touch screen, which is identical to what’s used on the ?OneTwo.