| Linux on BenQ JoyBook 6000 |
|
|
|
| Written by Andreas Böhler |
| Sunday, 09 January 2005 01:00 |
|
The JoyBook is not the best laptop when it comes to Linux. I must confess that I never really looked on Linux-Support before buying it. Even now, that I own it, I hardly found any Websites dealing with the JoyBook 6000 and Linux. Some very useful information is available for the JoyBook 5000 at www.fistcenter.de (in German), but not all is true for the JoyBook 6000 as well. I will try to give you as much Information as possible on how to get your System up and running! WARNING: If your Joybook came with a carrying case that has magnetic snap-on buttons, you should immediately return the bag to BenQ! The harddrive of my Joybook broke down because of those buttons (according to BenQ ServiceCentre). They replaced my harddrive (on warranty) and told me to send in my bag to get it replaced by a bag without those magnetic buttons!
System Configuration 00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02) Upgrading the JoybookThere are several ways you can upgrade your Joybook: Increase RAM, exchange the WLAN-Module, replace the Harddrive. So far, I successfully tested the following devices:
Kernel and required PatchesKernel .config for download (Linux 2.6.11 with all patches described here + MPPE/MPPC Patch): 2611config Linux 2.6.8.1 ACPI-Patch: acpi.sf.net. I'm using acpi20040715 without any problems. For your convenience I have hosted the patch here: acpi-20040715-2.6.8.diff CD-Writer: Edit the file drivers/block/scsi_ioctl.c and do the following: @line 196 comment out: /* if (verify_command(file, cmd)) In 2.6.8 and later there was a patch introduced that stopped some SCSI-commands from being executed as regular user (the root-user can do everything). Therefore, burning applications like cdrecord or k3b won't work anymore (but some patches exist for those programs). I found it easier and more practical to simply reverse this patch! Special Keys: To have access to the keycodes that are produced when P1, P2, Help, TouchPad or Wireless LAN are pressed, you can either use setkeycodes (see below for details) or my keyboard-patch. This file patches drivers/input/keyboard/atkbd.c so that some new keycodes are introduced. 2.6.8.1-joybook-keyboard.patch Audio-CD: Another problem is a memory leak when burning Audio-CDs. You have to apply those two patches to fix it: bio_uncopy_user-mem-leak-fix.patch and bio_uncopy_user-mem-leak.patch Linux 2.6.10/Linux 2.6.11 CD-Writer: Edit the file drivers/block/scsi_ioctl.c and do the following: @Line 228 (231 for 2.6.11) comment out: /* if (verify_command(file, cmd)) Special Keys: To have access to the keycodes that are produced when P1, P2, Help, TouchPad or Wireless LAN are pressed, you can either use setkeycodes (see below for details) or my keyboard-patch. This file patches drivers/input/keyboard/atkbd.c so that some new keycodes are introduced. 2.6.8.1-joybook-keyboard.patch (also works on 2.6.10/2.6.11) SMsC IRCC2: This patch adds PnP-Support to the smsc-ircc2 module and was done by several people. I found it on some mailing-lists, just do a google-search for "smsc-ircc2 pnp patch" and you will finde plenty of results! For your convenience, I put together the patch and made it available here: 2.6.10-rc2-smsc-ircc2-pnp.patch The above patch was done by Ville Syrjälä and could be found on gmane.org! Fedora Core 4 with latest Kernel-Upgrade: Stefan Neufeind (stefan (at) neufeind (dot) net) reported that the IrDA-Patch for smsc-ircc2 is now standard in Fedora Core 4, so if you use setkeycodes, no Kernel-Patch is required in order to use the Joybook 6000! Great! For reference, see this bug-report: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=153970 Linux 2.6.14: Use the following patch by the Fedora-Project, that applies cleanly to 2.6.14, but fails on older kernels (while above patch fails on 2.6.14, allthough it's the same code): linux-2.6-smsc-ircc2-pnp.patch Linux 2.6.15: Again, the same code, but only this patch applies cleanly: linux-2.6.15-smsc-ircc2-pnp.patch. I haven't tested, but this should work for 2.6.16 also. Linux 2.6.17: The above patches will all fail, because pnp_register_driver was changed. I developped a patch that backports to the 2.6.15 driver, but changed it to the new pnp_register_driver() function. However, it breaks compatibility with some laptops relying on the new code that replaces smcinit. Furthermore, it assumes that only one IR-device is present. linux-2.6.17-smsc-ircc2-joybook-backport.patch I did another patch on this issue that *should* be compatible also to other Laptops, but it also assumes that only one device is present. The following patch works for me (TM), but I never tested it on any other device than the Joybook! linux-2.6.17-smsc-ircc2-joybook.patch Linux 2.6.20:Today I tested Linux 2.6.20 and everything seems to work fine using the 2.6.17 patches! Processor & SpeedstepSpeedStep is done using the Centrino-Driver and a daemon called "speedfreqd". Enable the following in your Kernel: Under PowerManagement select: [*] CPU Frequency Scaling Additionally, you have to download and install the speedfreq-package which lets you control the behaviour of your SpeedStep-capable Processor. You can get the package here: http://www.goop.org/~jeremy/speedfreq ACPI SupportLinux 2.6.8.1: In this kernel, ACPI-support is only partially available for this laptop. Go to acpi.sourceforge.net and download the latest ACPI-Packages, then everything will work (otherwise you lack Hotplug-support for USB). Linux 2.6.10 and up: No patching is required, ACPI should work out of the box! ACPI Sleep States also work, at least S4 - Suspend to Disk! If you enable ACPI Sleep states and Suspend-to-Disk during kernel-config, you can enter S4 by typing "echo 4 > /proc/acpi/sleep"! If you do this via a script, all commands you execute AFTER this, are executed during resume! 855resolution e.g. needs to be re-run during wake-up, so I added this directly after the echo-command! S3 - Suspend to RAM also works withouth unloading anything as of Kernel 2.6.11, earlier versions not tested! However, you need a userspace tool to initalize Video upon resume (Thanks to Benedek Frank for his Dell 700m and Linux page, www.celifornia.com/documents/dell700m.html). This utility is available at bugzilla.kernel.org/show_bug.cgi?id=3670 and is called video_post, someone saved it as attachment.cgi. You can get a local copy here: video_post.tar.gz. If you don't want to have garbled screen upon resume, just switch to console and back to X via Script: "chvt 1" and then "chvt 7" XFree86Probably one of the hardest things to do on the JoyBook 6000 is to get XFree86/X.org running in native 1280x800 Mode. Fortunately, there is a patch from Alain Poirier (http://perso.wanadoo.fr/apoirier) to get this mode into your VBIOS. Simply put it in a startup-script and enjoy the native resolution! For better TouchPad-Support, download and install the synaptics-driver-package, available here: http://w1.894.telia.com/~u89404340/touchpad/ XFree86 < 4.5.0 The CRT-Output can also be activated by a small program called i855crt. The small side-effect is that I get in the top left corner a small white field, but it's not that disturbing. i855crt can be found at i855crt.sf.net. UPDATE 2005-01-21: The solution is to READ THE README! There it is clearly stated that you have to patch your X-Server if you want Overlay on CRT and that you have to use the SWCursor-Option! This got me rid of that damn white field in the corner! Important is to have a ModeLine in your Monitor-Section! Here is my XF86Config (Only one head, but Clone-Mode via i855crt possible): XF86Config XFree86 >= 4.5.0 / X.org (6.8+) CRT-Output and Clone/DualHead/Xinerama-Mode can be activated and controlled via XF86Config, there is now native support for it. The only drawback is that it can't be activated or deactivated during runtime, so I have my Setup configured as DualHead/TwinView WITHOUT Xinerama and force the CRT-Output to enable regardless of any connection. Here is my xorg.conf (TwinView without Xinerama): xorg.conf ModemThe JoyBook is equipped with an internal Soft-Modem (or WinModem). However, it is possible to get it working! Download the latest slmodem-package, compile and install. Then do "modprobe slamr" and add "slmodemd &" to one of your Startup-Scripts. slmodem is available here: http://www.smlink.com/main/down/ slmodemd supports also an ALSA-Mode, where all proprietery code lives in userland, so the kernel is not tainted anymore. However, I was not able to dial when using ALSA-mode. I rather have a tainted kernel than a not working modem... Linux 2.6.10/Linux 2.6.11: The SmartLink-Driver does not work anymore because of symbols being only available to GPLd Drivers! It is, however, possible to get it running by a solution that might be illegal in your country! It requires patching of the SmartLink Driver in a way that it looks like a GPLd Driver to the kernel! In drivers/amrmo_init.c change the following: @Line 689 change MODULE_LICENSE("SmartLink Ltd.");to: MODULE_LICENSE("GPL");In drivers/amrmo_init.c change the following: @Line 743 change if (!pci_register_driver(&amrmo_pci_driver)) { to: if (pci_register_driver(&amrmo_pci_driver)) { Linux 2.6.13 and up In Linux 2.6.13 some features for initalizing a PCI-Device are not present anymore, therefore the SmartLink driver does not work anymore. Luckily, ALSA-Mode works. Include snd-intel-8x0m module in your kernel, build it and load this module. Then run "slmodemd -a hw:1 &" to get your modem up and running! Wireless LANOlder Joybooks (like mine) came equipped with an Intel 2100 Wireless LAN Controller while later versions include Intel 2200 Wireless Connections. Basically, the instructions are the same, for ipw2200 use http://ipw2200.sourceforge.net. Since a few months, there is a native Driver package in development, called ipw2100. At the time of this writing, it does not support all of the WLAN-Extensions, but enough to access a Network or the Internet, it works quite well. There is nothing special to take care of, simply download and install the package from http://ipw2100.sourceforge.net I mapped the WLAN-Key to a Keyboard-Press and let a Script run to choose available Networks. This is done by a Startup-Script that adds "setkeycodes e040 236" and "setkeycodes e041 147". Then, those keys are recognized by the Kernel. Now, I run through .xinitrc/.xsession the program "xbindkeys &" to have a script run, when the Key is pressed! My ~/.xbindkeysrc looks like this: "/bin/wlanchooser" UPDATE 2004-10-17: I recently upgraded to Intel PRO/Wireless 2200BG to have 802.11g wireless connection! Although BenQ support tells me that this upgrade is impossible, it worked nearly out of the box as expected! I'm using the OpenSource-Drivers from ipw2200.sf.net with the same script! UPDATE 2004-11-29: Because the kernel sometimes forgot the keys set by setkeycodes, I developped a kernel-patch that maps the keys correctly. As this is my very first patch ever, I'm very proud of it (it took me several hours and lots of recompiles to figure out which index correspondens to which keycode). For details, see above under Kernel and required Patches! UPDATE 2005-11-21: ipw2100 and ipw2200 is now in vanilla 2.6.14! InfraredLinux 2.6.8.1: In short: IR does NOT work under Linux 2.6.8.1, because PNPACPI is not yet available. You have to upgrade your kernel. Linux 2.6.10 and up: First, download the latest 2.6.10 kernel and patch it with smsc-ircc2-pnp.patch (see above). Then configure it and don't forget to include PNP-ACPI, otherwise it won't work. Compile and install, reboot. Now do 'modprobe smsc-ircc2' and you see a message in your log-files that pnp-device 00:0a has been activated and that SMsC IrCC2 was found! irdadump should now work and an ifconfig irda0 should give you the interface! CD-WriterLinux 2.6.8.1: Patch your kernel as described above and CD-Writing is possible as usual with cdrecord and similar programs suid root! Linux 2.6.10: Again, patch your kernel as described above, BUT: your cdrecord-programs MUST NOT BE suid root! Linux 2.6.11 and up: No patch is needed for the kernel, but you have to use the latest cdrdao and a patch for cdrecord/cdrtools. SD/MMC-CardReaderFor a very long time, the CardReader was unsupported, but today Stephan Berberig reported that a new driver is in the works (thank you for reporting, Stephan!). A quick test showed me, that it actually can read a SD-Card (and even write to it, although I didn't test it)! Get the current release at www.sf.net/projects/sdricohcs, extract, compile and install it! Don't forget to include MMC-support in your kernel and to load mmc_block after loading sdricoh_cs to geht mmcblk0 created! Sound-SupportI only tried ALSA-Support, allthough OSS should work as well. You have to build your kernel with support for Intel i8x0/Intel i810 Audio. The device works out of the box after loading the module. PCMCIA/CardBus-SupportLoad the yenta-drivers and everything should work! This Page is listed at www.tuxmobil.org - Linux with Laptops, Notebooks PDAs and Mobile Cell Phones |
| Last Updated on Sunday, 05 October 2008 12:49 |