Zepto Znote 3215W with Debian Testing/lenny

Zepto Znote 3215WAs my old Asus M2N laptop got older and older, and for some reason slower and slower, I decided to buy a new one. I ended up gettinng a Zepto Znote 3215W with a few customisations. There were several reason for this choice:

  • Zepto has very competive prices,
  • Zepto will sell laptops without an OS preinstalled – no involuntary Microsoft tax,
  • laptops can be customised as you want them,
  • and then this quote: “Works with Ubuntu Linux. 3215W is tested and will work together with Ubuntu Linux 7.10 beta, Out-of-the-box. For Wifi you will need to use the Intel Pro/Wireless 4965 netcard.”

The specs of mine are:

  • Intel Centrino “Santa Rosa” chipset
  • Intel Core2 Duo CPU T5450 @ 1.66GHz (*)
  • 2 Gb DDR2 800MHz RAM (*)
  • 120 Gb SATA harddisk 7200 rpm (*)
  • DVD-RW DL drive (*)
  • 15.4″ WXGA “Crystal Clear” display at 1280×800
  • Intel GMA X3100 graphics chipset
  • Intel Pro/Wireless 4965AGN wireless network adapter (*)
  • Broadcom NetLink BCM5906M network adapter
  • Broadcom internal USB bluetooth adapter (*)
  • Ricoh Firewire adapter
  • Ricoh SD/MMC card reader

The items marked with (*) are where I have asked for changes or additions to the default configuration.
It is a fairly large laptop, measuring 36×27×4cm and weighing 2.8kg which is OK for the kind of semi-stationary work I do currently.

Conclusions

Most parts of the laptop work immediately with little or no manual configuration on a Debian Testing install, but there are several parts that doesn’t. Most of these seem to have a solution on the way. Zepto states that the laptop is fully Ubunto 7.10 compatible, but not everything went that smooth with Debian.
An install of Debian Testing (lenny) with a Linux 2.6.23 kernel leaves these parts non-functional:

  • No sound (fixed in kernel 2.6.24)

and these only partly functional:

  • X server sometimes fails to restore textmode correctly
  • Touchpad not recognised but it still usable
  • ACPI works only partially
  • Minor issues with sound and headphones

and these require an extra effort to get fully functional:

  • Compiz window manager
  • SD/MMC card reader
  • Keyboard hotkeys

Installation

The installation went reasonably smoothly. I first tried with a Debian Testing weekly built netinst cd image, but it failed to locate the Broadcom NIC, which is unfortunate in a net install. I then took a nightly built netinst image, and it booted and installed without a hitch.
There’s really not much more to say about that. It’s dead easy.

Hardware walk-through

CPU – Intel Core2 Duo works out of the box with both cores available
Disk – the SATA disk works out of the box
Optical disk – works as expected but haven’t testing burning yet
Sound – work with minor issues – see later “Sound issues”
SD/MMC card reader – works after initialisation – see later “SD/MMC card reader”
USB – works out of the box with mice and usb-storage devices. There are special high powered usb ports for harddisks and the like, which don’t seem to make much of a difference to me. I got the same results from all USB ports, and one external 2.5″ harddisk always required a power adapter to work. There’s also a USB power button, but that doesn’t seem to do anything neither.
Wired network – the Broadcom BCM5906M NIC works with newer version of the tg3 driver (I use version 3.81.1 in kernel 2.6.22 and later)
Wireless network – works with the iwl4965 driver from recent stock Debian kernels (I use 2.6.23-1). The firmware for the card must be installed separately via the “firmware-iwlwifi” package. Visibility of the nic is subject to the wireless kill-switch on the front of the laptop.
Modem – there’s a modem socket on the left side, but I don’t think there’s a modem in the laptop.
Bluetooth – an Broadcom internal USB adapter, works out of the box. Visibility of the adapter is subject to the wireless kill-switch on the front of the laptop.
ACPI – only the basic stuff is available, like power button, lid, battery and AC adapter.
Video out – not yet tested
Firewire – works but doesn’t seem to provide any power, at least not enough for the 2,5″ harddisk enclosure I tried with. With a separate power adapter the disk came up as it should. The same harddisk works without external power on my Mac mini.
PC Card – this is not a Cardbus/PC Card/PCMCIA slot, but an PCI Express/54 slot. I have no cards to try it with.
Video – Intel GMA X3100 works – see later “X Windows”
Touchpad – works partially – see later “X Windows”
Extra keys – works with initialisation – see later “Hotkeys”
Suspend – uswsusp works – s2disk without any problems, and s2ram with the –force flag. You need to belong to the “powerdev” group to get full Gnome Power Manager functionality.

Sound issues

The integrated sound card is a Realtek ALC 268 which is only supported by ALSA 1.0.15 and later.
With Linux 2.6.23 and ALSA 1.0.14, the sound card is found and appears to be working without error messages, but there is no sound.
With Linux 2.6.24 and ALSA 1.0.15, the sound works if the option model=acer is passed to the snd-hda-intel driver. See this post: Sound on Zepto Znote 3215W almost there.

Here are some links in case somebody want to research it a bit:

X Windows

Basic X.org configuration was a breeze. I didn’t have to do anything at all, except answer “I don’t care” about what display resolution to exclude from the configuration.
The X.org server uses the “intel” driver for the Intel GMA X3100 graphics chip set.
DRI works but needs some addition drivers from the “libgl1-mesa-dri” package along with a handful of other Mesa packages. Nothing special there, but you have to remember it. They’re loaded automatically once they’re installed on the system.
The touchpad it is an Elantech touchpad and it is not recognised correctly by the kernel. It comes up as a “ImPS2 Logitech Wheel mouse”, not as a proper touchpad. The funny thing is, however, that the touchpad still works to some degree. It reacts to movement and taps, there is a scroll wheel area on the right side of it, and a two finger tab becomes a middle click. A three-finger tap becomes a right click but it is very hard to reproduce reliably. It might be some PS2 emulation in the BIOS that does this, but there’s nothing in the BIOS interface at boot time about it. There seems to be a driver for the touchpad in the working, but it’s currently only semi-functional. I haven’t delved deeper into this, as it does work.
Compiz as present in Debian Testing doesn’t work on the laptop. Apparently the chip set is blacklisted due to some incompatibility between Xv and Compiz. That can be overruled by setting the “SKIP_CHECKS=yes” environment variable, but that just causes Compiz to hang just after having started the window decoration helper.
Compiz Fusion 0.6.99 from a third party repository does work, however. Since Compiz is about to be superseded by Compiz Fusion anyway, usable versions of Compiz Fusion should appear in Debian at some point in the future.
The incompatibility between Xv and Compiz is still there, but the laptop is fast enough to play a movie full screen through the X11 driver. The CPU load is about 20% for full screen playing.
I have noticed that when I switch from X Windows to a text console, the correct graphics mode for the text console is not always restored correctly. It is not always, only when it is inconvenient. I can log in and type away blindfolded, so I am back in a console, but I cannot see anything on the display.

Hotkeys

The keyboard has some special keys, of which most work out of the box. A couple doesn’t seem to do anything, marked “Wow Audio” and “Wow Video”. They do send some key codes, but nothing comes through to the X server.
There’s an explanation of the concepts of keycodes and keysyms here in an older post.
Three keys don’t send any scan codes at the kernel level, so pressing them is invisible to X windows. That situation can be remedied by adding these lines to /etc/rc.local so they’re run automatically at boot time:

# Zepto Znote 3215W extra keys
# Wow audio - upper right
setkeycodes e075 175
# Wow video - upper right
setkeycodes e076 176
# Wireless on/off - Fn-F2
setkeycodes e004 174
# remaining extra keys have keycodes assigned by default

After this the key presses will be registered by X Windows, but the X Windows server still need to be made aware of the keys. The following commands should be placed in a .Xmodmap-zepto file in you home directory. Gnome will then spot this file at next login and offer to load it automatically:

! Special keys for Zepto Znote 3215W
! Fn-F? keys left to right
keycode 209 = XF86LightBulb
keycode 223 = XF86Sleep
keycode 160 = XF86AudioMute
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume
keycode 162 = XF86AudioPlay
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
! Short cut keys above keyboard
keycode 178 = XF86HomePage
keycode 236 = XF86Mail
keycode 136 = XF86Launch0
keycode 210 = XF86Launch1

The Linux kernel keycodes and keysyms don’t match the X Windows keycodes and keysyms. They’re different systems with different ideas, but it works for me with the above numbers 🙂
Now all keys are registered and known to both the kernel and X Windows, so just open op the menu “System | Preferences | Keyboard Shortcuts” and map the keys to events in there. Most should work out of the box.
I use the “Wow Video” key to show the desktop and “Wow Audio” to open the Deskbar Applet.

SD/MMC card reader

On my laptop the Firewire and memory card reader are identified as:

0e:06.0 FireWire (IEEE 1394): Ricoh Co Ltd Unknown device 0832 (rev 05)
0e:06.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter(rev 22)
0e:06.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)
0e:06.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev ff)

The controller for the 3in1 card reader is on the same chip set as the Firewire controller, and for some reason it doesn’t detect when a memory card is inserted into the slot. It can be remedied by writing a few well chosen bytes to some PCI registers on the Firewire controller. These commands will do the trick:

pciid="$(lspci | grep 'IEEE 1394' | cut -d' ' -f1)";
setpci -s $pciid 0xCA=0x57;
setpci -s $pciid 0xCB=0x02;
setpci -s $pciid 0xCA=0x00;
/sbin/modprobe --ignore-install sdhci

This process can be automated through a modprobe configuration file which should be saved to the /etc/modprobe.d/ directory. Afterwards the above commands will be run each time the sdhci driver is loaded, and memory cards are detected and mounted automatically.

kernel: sdhci: Secure Digital Host Controller Interface driver
kernel: sdhci: Copyright(c) Pierre Ossman
kernel: sdhci: SDHCI controller found at 0000:0e:06.1 [1180:0822] (rev 22)
kernel: ACPI: PCI Interrupt 0000:0e:06.1[B] -> GSI 23 (level, low) -> IRQ 21
kernel: mmc0: SDHCI at 0xf8300800 irq 21 DMA
kernel: mmc0: new high speed SD card at address fda2
kernel: mmcblk0: mmc0:fda2 SD02G 2011136KiB
kernel:  mmcblk0: p1

The last three lines would be missing without the “setpci” commands.

Major outstanding issues

Updates on these problems will be made to separate posts in the Zepto Znote 3215W category and linked from the above list when a solution is found.



Comments

One response to “Zepto Znote 3215W with Debian Testing/lenny”

  1. Living with Linux » Blog Archive » Sound on Zepto Znote 3215W almost there

    […] unstable, so I immediately gave it a try, to see if it did anything to the sound issues on my Zepto Znote 3214W […]