You are here: Start Linux and Computers Linux on BenQ JoyBook 6000
Linux on BenQ JoyBook 6000 PDF Print E-mail
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!
I must confess, that BenQ support is really good when it comes to replacing parts. I only had to cope one week without my Joybook...


BE WARNED: You do anything described here at your own risk! I'm in no way responsible for any damage you might make to your Joybook! Any information here is provied "as is" without any warranty, but it worked out for me as described.
 
I used SoL-Linux 18.00 + SoL-Desktop 18.00, available from www.sol-linux.com, an Austrian Linux Distribution intented for Servers, but with the Desktop-Extensions also suitable for Desktops or even Notebooks.
As this distribution does not use any package-management system, all utilities have to be built from source and therefore all of these instructions should also work on other distros like SuSE or RedHat, except that you can use prebuilt packages!
 
Because this device is so new, don't try any Kernel older than the 2.6 series - and there also only take the latest Kernel! 2.6.8.1 with some patches is the minimum required to get USB-Hotplug and W-LAN working at the same time!
 

 
UPDATE 2005-01-09: Apart from the SD/MMC/MS-Reader, everything is working when using Linux 2.6.10! Read below for detailed instructions!
 
UPDATE 2007-03-11: EVERYTHING WORKS NOW!!

 


System Configuration

 
The output of lspci:

00:00.0 Host bridge: Intel Corp. 82852/855GM Host Bridge (rev 02)
00:00.1 System peripheral: Intel Corp. 855GM/GME GMCH Memory I/O Control Registers (rev 02)
00:00.3 System peripheral: Intel Corp. 855GM/GME GMCH Configuration Process Registers (rev 02)
00:02.0 VGA compatible controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:02.1 Display controller: Intel Corp. 82852/855GM Integrated Graphics Device (rev 02)
00:1d.0 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 (rev 03)
00:1d.7 USB Controller: Intel Corp. 82801DB/DBM (ICH4/ICH4-M) USB 2.0 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 83)
00:1f.0 ISA bridge: Intel Corp. 82801DBM LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801DBM (ICH4) Ultra ATA Storage Controller (rev 03)
00:1f.3 SMBus: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller (rev 03)
00:1f.6 Modem: Intel Corp. 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller (rev 03)
01:04.0 Network controller: Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter (rev 04)
01:06.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
01:06.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ac)
01:06.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 04)
01:08.0 Ethernet controller: Intel Corp. 82801BD PRO/100 VE (MOB) Ethernet Controller (rev 83)


Upgrading the Joybook 

There 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:
  • Atheros AR5212 Wireless LAN Mini-PCI Adapter: OK, but no RF-Kill Switch
  • Intel PRO/Wirelss 2200BG Mini-PCI Adapter: OK
  • 1GB Kingston DDR-400 SO-DIMM: OK
  • LG HL-DT-ST DVD+-RW GWA-4040N: OK
  • NEC/Optiarc AD-7453 DVD/RW: OK



Kernel and required Patches

 
Kernel .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))
return -EPERM;
*/

 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))
return -EPERM;
*/

 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 & Speedstep

 
SpeedStep is done using the Centrino-Driver and a daemon called "speedfreqd".
Enable the following in your Kernel:
Under PowerManagement select:
[*] CPU Frequency Scaling
[*]/proc/cpufreq interface (deprecated)
..
[*] Intel Enhanced SpeedStep
[*] Intel SpeedStep on ICH-M chipsets (ioport interface)

 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 Support

 
Linux 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"
 


XFree86

 
Probably 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
 


Modem

 
The 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");
Furthermore, the Return Value of a succesful load has to be changed:
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)) { 
Then rebuild slmodem-2.9.10 and the modem should work as expected!
 
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 LAN

 
Older 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"
m:0x0 + c:241

"/bin/wlan down"
m:0x0 + c:147

 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!
 


Infrared

 
Linux 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-Writer

 
Linux 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-CardReader

 
For 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-Support

 
I 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-Support

 
Load the yenta-drivers and everything should work!
 

 This Page is listed at www.tuxmobil.org - Linux with Laptops, Notebooks PDAs and Mobile Cell Phones

Comments (0)
Write comment
Your Contact Details:
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):S
:!::?::idea::arrow:
Security
Please input the anti-spam code that you can read in the image.
Last Updated on Sunday, 05 October 2008 12:49
 
Template is Powered by www.schaffenskraft.info © 2008 | CSS 2.1 | XHTML 1.0