F8x86_64 on the Acer Ferrari 3400LMi F8-x86_64 on the Acer Ferrari 3400LMi by SvenGöran Bergh Table of Contents 1 Introduction....................................................................................................3 1.1 Version.....................................................................................................3 1.2 Quick reference guide..............................................................................3 2 Installation...............................................
F8x86_64 on the Acer Ferrari 3400LMi 10.3.3 Other observations........................................................................20 10.4 TV-out...................................................................................................21 10.4.1 Load detection...............................................................................21 10.4.2 NTSC or PAL.................................................................................21 10.4.3 Initialization..................................
F8x86_64 on the Acer Ferrari 3400LMi 1 Introduction This document is primarily designed for my own records for future use. However, it is always nice if it may help others to get started with Linux on their laptops. The steps to get things to play on the Acer Ferrari 3400 Lmi are described here. Most procedures are general and may be useful for other hardware as well. ! ! ! WARNING ! ! ! However, I must warn those of you that still enjoy the luxury of an independent mind and free will.
F8x86_64 on the Acer Ferrari 3400LMi Hardware Status Details Notes CPU OK Mobile AMD Athlon 64 3000+ No configuration needed. Frequency scaling works out of the box. PCI Bridge OK VIA VT8237 [K8T800/K8T890 South] No configuration needed. Display OK 15” SXGA TFT (1400x1050) No configuration needed. Graphics card OK ATI Mobility Radeon 9700 128 MB, 8x AGP Full functionality with the radeon driver, see below. RAM OK 512 MB DRAM (extended to 2GB) No configuration needed.
F8x86_64 on the Acer Ferrari 3400LMi Hardware Status Details Notes PC-card OK Texas Instruments PCI4510 PC card/Cardbus No configuration needed. Bluetooth OK Cambridge Silicon Radio No configuration needed, see comments below. IEEE 1394 Firewire OK Texas Instruments PCI4510 IEEE-1394 No configuration needed, see comments below. USB OK VIA, 4xUSB 2.0 No configuration needed. Infrared OK Card reader OK See below for configuration.
F8x86_64 on the Acer Ferrari 3400LMi vmlinuz initrd=initrd.img libata.ignore_hpa=1 3 Hard drive No hassle what so ever, but my own reflection is that the standard hard drive does not match the “high end gear” profile of this laptop. When the laptop was released 120 MB drives was the latest of the greatest and 100MB drives were off the shelf goods in most stores. However, a smaller drive would have been ok at a higher speed, at least 5400rpm. 3.
F8x86_64 on the Acer Ferrari 3400LMi 4.1 Potential problems There are no problems regarding loading modules or mounting an external IEEE 1394 drive, and if you are patient you managed to browse the content as well. The problems starts when you try to transfer larger amounts of data.
F8x86_64 on the Acer Ferrari 3400LMi 4.2 Configuring Firewire If you experience the problems mentioned above, and you are running kernel version 2.6.13 or earlier, put the following line in your /etc/modprobe.config: options sbp2 serialize_io=1 max_speed=2 The serialize_io=1 option tells the scsi drivers to only send one scsi command at a time. Unfortunately, this setting has a small impact on performance, but it is the fix that makes things work. In kernel version 2.6.
F8x86_64 on the Acer Ferrari 3400LMi optimizing performance you just want things to work. 5 USB USB support works as expected. I have noticed no problems whatsoever with the USB ports. Especially with the desktop enhancements introduced with FC5 it works like a charm. Absolutely no configuration needed. 6 5-in-1 Card reader The 5in1 card reader utilizes the USB interface and is operational right after installation. Analogous to the USB ports there is no hassle at all.
F8x86_64 on the Acer Ferrari 3400LMi setkeycodes Xmodmap KDE Config Button Work Comments Mail yes x x E-mail button, ex: launch Thunderbird WWW yes x x WWW button, ex: launch Firefox P1 yes x x x User button, ex: launch NetBeans P2 yes x x x User button, ex: launch VMware FnF1 yes x x x User button, ex: FnF2 yes x x x User button, ex: FnF3 yes x x x User button, ex: FnF4 yes FnF5 yes x x Toggle external display, XF86Display FnF6 yes Dim display, no configuration need
F8x86_64 on the Acer Ferrari 3400LMi me was: Button X key-code Default X key symbols Mail 236 - WWW 178 - Fn-F4 223 none, but triggers KPowersave suspend->RAM Fn-F5 214 none, but generate a Capability changed event that is received by the X-server. Fn-F8 160 - Fn-NumLk 77 Num_Lock Fn-Scr Lk 78 Scroll_Lock Fn-Home 97 Home Fn-End 103 End Fn-up 176 - Fn-down 174 - These are the buttons that are the simplest to get working. Save these X key codes for future use.
F8x86_64 on the Acer Ferrari 3400LMi Button scan-code P1 e074 P2 e073 Fn-F1 e025 Fn-F2 e026 Fn-F3 e027 8.1.3 Linux key-codes 3. Next, figure out what Linux keycodes that are available by looking at the Linux scancode – keycode mapping.
F8x86_64 on the Acer Ferrari 3400LMi # Buttons: setkeycodes # # Buttons: setkeycodes P1 e074 151 P2 e073 152 FnF1 e025 131 FnF2 e026 132 FnF3 e027 133 5. In order to avoid a restart to load these setting, issues the very same commands. # setkeycodes e074 151 e073 152 # setkeycodes e025 131 e026 132 e027 133 8.1.4 X key-codes revisited 6. Repeat step 1 and use xev to figure out what X keycodes these buttons got.
F8x86_64 on the Acer Ferrari 3400LMi keycode keycode keycode keycode keycode keycode keycode 135 140 248 214 160 176 174 = = = = = = = XF86Launch3 XF86Launch4 XF86Launch5 XF86Display XF86AudioMute XF86AudioRaiseVolume XF86AudioLowerVolume 8. The setting above are loaded the next time X is started, but to load them without a restart of X do: # xmodmap verbose /etc/X11/Xmodmap ...
F8x86_64 on the Acer Ferrari 3400LMi 9.1 Suspend I am glad to see that both Suspend to Disk and Suspend to RAM works like a charm. Previous there has been a lot of struggle, if at all possible, to get a stable and reliable ACPI support. OK, I know that suspend has been around for a while by now, but hand on the heart has it been user friendly and reliable? I have not had that experience. So a reliable ACPI support right out of the box feels really luxurious.
F8x86_64 on the Acer Ferrari 3400LMi + Svideo or VGA0 + Svideo. This is a common limitation for most graphics hardware. Note: The output names differ depending on the driver used. The names used in this document relate to the radeon driver. If you use some other driver use xrandr q to find out the proper names (provided that it supports RandR). 10.1.1 The radeon driver Support for the ATI Mobility Radeon 9700 chip in the Ferrari is provided by the radeon driver.
F8x86_64 on the Acer Ferrari 3400LMi the fly by the command line tool xrandr, and there is no need to restart the X server. 10.2.1 Virtual screen size RandR works its magic by means of a virtual screen that is larger than the a single monitor. The size of the virtual screen is reported as the maximum value by the command: # xrandr q Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1400 x 1200 ... In this case the size is 1400x1200, which is the default virtual screen size for this setup.
F8x86_64 on the Acer Ferrari 3400LMi 1280x720 60.0 1024x768 60.0 800x600 60.3 640x480 59.9 Svideo disconnected (normal left inverted right x axis y axis) In the xrandr q output above we see that the new virtual screen size is recognized in the maximum value. Furthermore, we see our three supported outputs, VGA0 (external display), LVDS (internal display), Svideo (TVout). For the report above an external monitor is connected but not activated. Still xrandr q reports its supported modes. Neat! 10.2.
F8x86_64 on the Acer Ferrari 3400LMi we design a script to run once FnF5 is pressed. The FnF5 button should provide a simple, basic and robust functionality that works for any external monitor. I prefer to toggle through the available connected external outputs, while keeping the internal monitor alive. Furthermore, each connected external output is present in two operating modes.
F8x86_64 on the Acer Ferrari 3400LMi 10.3.1 Simple benchmark In order to compare different settings we need some kind of benchmark tool. A simple tool that comes with the glxutils package found in most distributions is glxgears. It may be rough, rudimentary and lacking a lot of hype features, but it is present and sufficient for our needs. An interesting exercise is to explicitly disable hardware acceleration and comparing the result with the default xorg.conf.
F8x86_64 on the Acer Ferrari 3400LMi performance. The tests has been run with the default size (1400x1200) and with 3000x2000, but no difference has been noticed. However, increasing the virtual screen to more than 3000x2000 will disable hardware acceleration and of course cripple performance completely. These observations verifies that hardware 3D acceleration is really working and that the radeon driver is taking care of business the way we want it to. 10.
F8x86_64 on the Acer Ferrari 3400LMi handled by the script. The script includes an initialization option that may be used for this. Put the following line in the file /etc/rc.local: /usr/local/bin/dualhead.sh init 11 Touch-pad The Synaptics touchpad is properly configured during the installation, and works well. I use it in conjunction with a USB mouse and both works well in parallel. I have seen some reports on problems with the touchpad 4way multi button, but it works without any hassle for me.
F8x86_64 on the Acer Ferrari 3400LMi However, with F8 the b43 kernel module is mature, stable and ready for production. How to get the b43 kernel module to work is described below. To use the NdisWrapper please refer to the FC4 version of this document, found at http://ferrari.databa.se/3400/fc4/. 12.1 Installing WLAN First we need to check and install some software so we have the tools we need. 12.1.1 WLAN tools 1.
F8x86_64 on the Acer Ferrari 3400LMi firmware from it later. Download it at: http://downloads.openwrt.org/sources/broadcomwl4.80.53.0.tar.bz2 or I keep a local copy, just in case: http://ferrari,databa.se/3400/fc8/broadcomwl4.80.53.0.tar.bz2 5. Uncompress the driver: # tar jxf broadcomwl4.80.53.0.tar.bz2 6. Extract and install the firmware from the Broadcom driver as root: # cd broadcomwl4.80.53.0/kmod/ # b43fwcutter w /lib/firmware wl_apsta.o 12.
F8x86_64 on the Acer Ferrari 3400LMi dBm dBm Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s Extra:tsf=000000a1f76c1da7 Cell 02 Address: 00:18:F8:D2:9E:F4 ESSID:"Secret Net" Mode:Master Channel:4 Frequency:2.427 GHz (Channel 4) Quality=81/100 Signal level=25 dBm Noise level=71 Encryption key:on Bit Rates:1 Mb/s; 2 Mb/s; 5.
F8x86_64 on the Acer Ferrari 3400LMi http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html. 12.2.2 The GUI way Once you have verified that you have the wireless network chip operational, as described in the previous sections, it is time to have a look at a GUI that will help you with all these steps and some other valuable tasks. The NetworkManager is a service with a corresponding applet that will dock into your panel.
F8x86_64 on the Acer Ferrari 3400LMi ... ... kernel: usb address 4 ... kernel: usb ... hcid[1963]: ... hcid[1963]: ... hcid[1963]: ... hcid[1963]: ... hcid[1963]: ... 42: new full speed USB device using uhci_hcd and 42: configuration #1 chosen from 1 choice HCI dev 0 registered HCI dev 0 up Device hci0 has been added Starting security manager 0 Device hci0 has been activated The blue led indicator should start blinking as well.
F8x86_64 on the Acer Ferrari 3400LMi 13.2.1 Prepare the phone First you need to configure your phone so it is available to your laptop. These steps may vary in detail depending on vendor and model, so the user manual for your phone may be handy. Start by activating bluetooth on your phone and scan for other devices. You should now be able to see your computer. Add your computer as a known bluetooth device to your phone. The phone will ask you for the pin code to connect to your computer.
F8x86_64 on the Acer Ferrari 3400LMi Channel: 8 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Headset" (0x1108) Version: 0x0100 Service Name: OBEX Object Push Service RecHandle: 0x10001 Service Class ID List: "OBEX Object Push" (0x1105) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 1 "OBEX" (0x0008) Profile Descriptor List: "OBEX Object Push" (0x1105) Version: 0x0100 Service Name: OBEX File Transfer Service RecHandle: 0x100
F8x86_64 on the Acer Ferrari 3400LMi "Dialup Networking" (0x1103) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 Language Base Attr List: code_ISO639: 0x656e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100 To use the phone as a modem the service of interest is the Dialup Networking, so note its channel number.
F8x86_64 on the Acer Ferrari 3400LMi # Bluetooth address of the phone device 00:0A:D9:E9:D8:4F; # RFCOMM channel for the Dial Up Networking service channel 4; # Description of the connection comment "Modem on my phone"; } 13.2.4 Dynamic routine If the method above works, you are all set and done. I started out that way and everything worked great for a while. Then all of a sudden I was unable to connect.
F8x86_64 on the Acer Ferrari 3400LMi 13.2.5 GPRS As mentioned earlier the only difference between dialing modemtomodem or using the phone as a GPRS gateway to internet is just a matter of configuration. Basic knowledge about modem commands and dialing is assumed, so modemto modem dialing is not described here. However, some short hints on GPRS connections are given below. A GPRS connection is established by means of modem configuration rather than actual dialing.
F8x86_64 on the Acer Ferrari 3400LMi Notice the two AT strings discussed above. The other commands are mainly cosmetic and may differ depending on your tool and its configurations. 13.3 Sending files To send files to your OBEX (Object Exchange) capable phone you need the packages openobex and openobexapps. # obex_push 3 00:0A:D9:E9:D8:4F test.
F8x86_64 on the Acer Ferrari 3400LMi or install it with: # yum install kdebluetooth After installing kdebluetooth you need to restart KDE, by logging out and back on again. Once KDE is restarted KBluetooth will show up as a bluetooth icon in the panel. It offers several useful features. 13.5.2 Mouse & keyboard Connecting a bluetooth mouse or keyboard with KBluetooth is really simple. Activate the mouse and move it around and it will be detected automatically.
F8x86_64 on the Acer Ferrari 3400LMi 13.5.4 Lock screen KBlueLock may be used to lock the screen whenever a bluetooth device becomes unreachable. Once the device appears again the screen is unlocked. This is a very convenient security measure to prevent others from fiddling with your Precious when you leave it unattended.
F8x86_64 on the Acer Ferrari 3400LMi 13.5.5 Transfer files The Bluetooth OBEX Object Push client may be used to transfer files from the computer to your phone or other bluetooth device. 14 Infrared IrDA support is provided by means of the package irdautils, so first make sure that this package is installed on your system. My first attempt started with changing the DEVICE in /etc/sysconfig/irda to /dev/ttyS1 and fire up the IrDA service (/etc/init.d/irda start).
F8x86_64 on the Acer Ferrari 3400LMi to go for since it is faster than SIR and there is a stable Linux FIR driver available for this IRchip. Below I'll walk you through the steps that got it working for me. 1. Start with grabbing a pen and a piece of paper and restart your Precious. Yes, this is one of those few occasions when you need to restart you Linux system. Press F2 during bootup to enter the BIOS and note the settings for your IRport.
F8x86_64 on the Acer Ferrari 3400LMi # ... /sbin/modprobe irttysir 2>/dev/null /sbin/modprobe irnet 2>/dev/null setserial /dev/ttyS1 uart none daemon /usr/sbin/irattach ${DEVICE} ${ARGS} That is about it, You are done with the configuration. 14.2 Testing IrDA Now start the IrDA service and watch the system log. Hopefully, you should see something similar the the following: # service irda start Starting IrDA: [ OK # dmesg | tail ... ttyS1: LSR safety check engaged! pnp: Device 00:09 activated.
F8x86_64 on the Acer Ferrari 3400LMi provided by Conexant, but by Linuxant. If you want all the features, fax, 56k, etc., they will charge you for it. Although, a crippled version is free. I do not like that philosophy at all. First you pay for the product, then they make you pay again if you want to use it... Fedora x86_64 has the ALSA kernel module snd_via82xx_modem precompiled. That module is capable of handling the internal softmodem. Furthermore, this module is properly loaded at startup.
F8x86_64 on the Acer Ferrari 3400LMi later from http://linmodems.technion.ac.il/packages/smartlink/. 4. Unpack and install the daemon: # tar zxf SLMODEMD.gcc4.2.tar.gz # cd SLMODEMD.gcc4.2 # install m 755 slmodemd /usr/sbin/slmodemd 5. Verify that the SmartLink driver is able to find and configure an interface for the modem: # slmodemd country=SWEDEN alsa nortpriority symbolic link `/dev/ttySL0' > `/dev/pts/5' created. modem `modem:1' created.
F8x86_64 on the Acer Ferrari 3400LMi and look in /var/log/messages: # tail /var/log/messages ...slmodemd: symbolic link `/dev/ttySL0' > `/dev/pts/6' created. ...slmodemd: modem `modem:1' created. TTY is `/dev/pts/6' ...slmodemd: Use `/dev/ttySL0' as modem device, Ctrl+C for termination. Just as the system log says you may now find the modem at /dev/ttySL0. However, before starting to use the modem you should continue to read about a potential issue. 15.
F8x86_64 on the Acer Ferrari 3400LMi take care of business. Dialing and connecting works fine and the debug output looks ok. However, when the session is disconnected the debug output goes south. It will start to flood the console with the exact same messages as seen above during a connect. In this case we may actually use the modem but need a small tweak. My temporary fix for the problem in this case is to restart the slmodemd service right after disconnecting a session.
F8x86_64 on the Acer Ferrari 3400LMi http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.
F8x86_64 on the Acer Ferrari 3400LMi Appendix A – /etc/X11/xorg.conf # Xorg 7.2 configuration for Acer Ferrari 3400 LMi # # Available at http://ferrari.databa.se/3400/f8/xorg.
F8x86_64 on the Acer Ferrari 3400LMi Option Option Option # # # Option Option Option Option EndSection "MonitorLVDS" "MonitorVGA0" "MonitorSvideo" "Internal Panel" "External VGA Monitor" "External TV" "AccelMethod" "AGPMode" "ColorTiling" "EnablePageFlip" "XAA" "1" "1" "1" Section "Screen" Identifier "Screen0" Device "Videocard0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Virtual 3000 2000 EndSubSection EndSection 45
F8x86_64 on the Acer Ferrari 3400LMi Appendix B – dualhead.sh #!/bin/bash # # Available at http://ferrari.databa.se/3400/f8/dualhead.sh # # A script to manipulate connected graphical outputs, # including TVout. It includes the most common operations # and may also be configured to run on an XF86Display event. # Typically FnF5 or similar on a laptop. # # Prerequisites: # This script will work with one graphics card only. # Furthermore it will only work with two CRTCs, # i.e.
F8x86_64 on the Acer Ferrari 3400LMi function usage() { printf "Usage: %s [init|toggle|status|internal|tv [side]]\n" \ "`basename $0`" } ME=`basename $0 .sh` # What to do? ACTION="${1:$DEFAULTACTION}" # Which side of $INTERNAL should the external output be shown? SIDE="${2:$DEFAULTSIDE}" # If invalid action or help, quit before calling xrandr case `echo "$ACTION" | tr AZ az` in init | toggle | status | internal | tv ) # Recognized actions. Do nothing and continue...
F8x86_64 on the Acer Ferrari 3400LMi echo "${ALLINFO[$i]}" \ | awk F@ '/@/ {print $1}' \ ) # Array with all active outputs ACTIVE[$i]=$( \ echo "${ALLINFO[$i]}" \ | awk F@ '/@[09]+x/ {print $1}' \ ) # Array with all resolutions ALLRES[$i]=$( \ echo "${ALLINFO[$i]}" \ | awk F@ '{print $2}' \ | awk F+ '{print $1}' \ ) # Array with all positions ALLPOS[$i]=$( \ echo "${ALLINFO[$i]}" \ | awk F@ '{print $2}' \ | awk F+ '/+/ {print $2 "+" $3}' \ ) # Index for the internal output [ "${AL
F8x86_64 on the Acer Ferrari 3400LMi } # Set load detection on all external outputs for out in ${ALLOUT[*]}; do [ "$out" != "$INTERNAL" ] && \ INIT="$INIT output $out set load_detection 1" [ "$out" == "$TVOUTPUT" ] && \ INIT="$INIT set tv_standard $TVMODE" done run xrandr $INIT function status() { printf "%10s%11s%8s%10s%10s\n" \ "Output" "Connected" "Active" "Position" "Resolution" for (( i=0; i<${#ALLOUT[*]}; i++ )) { [ "${CONCTD[$i]}" ] && c="yes" || c="no" [ "${ACTIVE[$i]}" ] && a="yes" |
F8x86_64 on the Acer Ferrari 3400LMi # LVDS+Svideo (mirror) => # LVDS+Svideo (sidebyside) => # LVDS+VGA0 (mirror) => # LVDS+VGA0 (sidebyside) => # LVDS (single) => # ... # Connection modes that include not connected outputs are skipped.
F8x86_64 on the Acer Ferrari 3400LMi internal) internal ;; tv) tvout ;; *) usage ;; esac 51
F8x86_64 on the Acer Ferrari 3400LMi Appendix C – dunbind.sh #!/bin/sh # # Available at http://ferrari.databa.se/3400/f8/dunbind.sh # # A verbose sample script for finding the Dial Up Networking # channel on a Bluetooth device and binding a /dev/rfcomm port to it. # # By SvenGöran Bergh, 20051103 # Update 20070403 Added release of passive/closed rfcomm port.
F8x86_64 on the Acer Ferrari 3400LMi echo n $"Searching for remote Bluetooth device ${BTNAME}..." BTADDR=`hcitool scan | grep "${BTNAME}" | awk '{print $1}'` [ "${BTADDR}" ] && success || failure # Find the Dial Up Networking channel echo n $"Searching for Dial Up Networking service..." DUN=`sdptool search bdaddr ${BTADDR} DUN \ | awk '/Channel/ {print $2}'` [ "${DUN}" ] && success || failure # Bind the rfcomm port to the DUN channel echo n $"Binding /dev/rfcomm${RFPORT} to DUN channel ${DUN}..
F8x86_64 on the Acer Ferrari 3400LMi Appendix D – /etc/init.d/slmodemd #!/bin/sh # # Available at http://ferrari.databa.se/3400/f8/slmodemdsysvinit.sh # Use slmodemdsysvinit.sh install to install it. # # slmodemd: Starts the SmartLink Modem Daemon # # chkconfig: 345 90 10 # description: This is the user space part of the SmartLink Modem driver # processname: slmodemd # config: /etc/sysconfig/slmodemd # Source function library. . /etc/init.
F8x86_64 on the Acer Ferrari 3400LMi } echo n "Starting SmartLink Modem driver: " ${PROG} country=$SLMODEMD_COUNTRY $SLMODEMD_OPTS 2>&1 \ | logger t ${PROG} & PID=`pidof ${PROG}` RETVAL=$? [ $RETVAL eq 0 ] \ && success $"${PROG} startup" \ || failure $"${PROG} startup" echo [ $RETVAL eq 0 ] \ && touch /var/lock/subsys/${PROG} return $RETVAL stop() { echo n "Shutting down SmartLink Modem driver: " killproc ${PROG} RETVAL=$? [ $RETVAL eq 0 ] && rm f /var/lock/subsys/${PROG} echo return $RETVAL }
F8x86_64 on the Acer Ferrari 3400LMi echo "Usage: ${PROG} {start|stop|status|restart|condrestart| install}" exit 1 esac exit $RETVAL 56