Acer 3400LMI User Manual

756.04 Kb

F8­x86_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.4 TV-out

TV output is available through the S­video connector on the rear of the Ferrari. Furthermore, no special settings are needed in order to use it. It is immediate available and may be controlled by xrandr. However, the tips below might help to get you started.

10.4.1 Load detection

The external outputs have a property called load_detection, that controls whether RandR should try to auto­detect the output or not. Usually it is a good thing to be able to auto­detect the different output features. However, there are situations when you do not want auto­detection.

Remember that we have three outputs, but only two rendering pipelines (CRTCs). What would then happen if we try to auto­detect and configure all available outputs, xrandr ­­auto, with both VGA­0 and S­video connected? We actually do not know. The internal display may only use the first pipeline, CRTC 0, but that might be allocated by either VGA­0 or S­video. Furthermore, we will have a race condition between the two remaining outputs for the second pipeline,

CRTC 1. In order to avoid potential conflicts like that, auto­detection is disabled by default for S­video.

Thus, we first have to enable load_detection in order to use the TV­output. That is done by:

# xrandr ­­output ­­set load_detect 1

10.4.2 NTSC or PAL

The graphics chip defaults to NTSC, so those of us how want PAL need to explicitly specify this. To change the TV mode to PAL use:

# xrandr ­­output S­video ­­set tv_standard pal

10.4.3 Initialization

The script for dual head management presented in Appendix B assumes that all external outputs may be auto­detected. Thus, if you want the script to consider TV­out as a possible external output you need to enable auto­detection for TV­ out.

Consequently, we need to initialize some settings before TV­out is automatically


F8­x86_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/dual­ init

11 Touch-pad

The Synaptics touch­pad 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 touch­pad 4­way multi­ button, but it works without any hassle for me. Likewise does the mouse wheel.

The InputDevice section in xorg.conf configured during the installation works well and needs no modification:

Section "InputDevice"






"Device" "/dev/input/mice"


"Protocol" "auto­dev"


"Emulate3Buttons" "yes"



For a complete reference you find my /etc/X11/xorg.conf file inAppendix A.

The special key to toggle the touch­pad (Fn­F7) also works without any special configurations.

12 Wireless NIC

When it comes to the Broadcom BCM4306 802.11b/g WLAN chip on the Ferrari you have two choices. The traditional NdisWrapper or the kernel module b43. When I first got this laptop there was no other option than NdisWrapper, but lately the kernel moduleb43 has evolved and matured.

As its name implies NdisWrapper is a wrapper for NDIS drivers, meaning that you use a corresponding Windows driver instead of a Linux driver. For some WLAN chips this is still the only option, but lately many chips enjoy almost native Linux support by means of kernel modules. I say “almost” because many chips need to be fed with proprietary firmware in order to operate. Anyway, this is a step in the right direction, and the final goal must be to free the firmware as well.

With FC4 NdisWrapper was the obvious choice, but during FC5 its configuration was (deliberately?) broken by the updates. Most FC5 updates re­installed the now deprecated bcm43xx kernel module, even though it was previously disabled and blacklisted. Thus, for most FC5 updates I had to disable the kernel module once again and re­install NdisWrapper. In my opinion, thebcm43xx kernel module was not mature enough to compete with NdisWrapper at that time. So this was an endless struggle to keep my WLAN support alive.


F8­x86_64 on the Acer Ferrari 3400LMi

However, with F8 the b43 kernel module is mature, stable and ready for production. How to get theb43 kernel module to work is described below. To use the NdisWrapper please refer to the FC4 version of this document, found at

12.1 Installing WLAN

First we need to check and install some software so we have the tools we need.

12.1.1WLAN tools

1.First we needed to make sure that the b43 kernel module is compiled and properly loaded during system startup. For standard F8 kernels this is the case, but if you compile your own brew you need to build it as a module:

# dmesg | grep b43

b43­phy0: Broadcom 4306 WLAN found

b43­phy0 debug: Found PHY: Analog 2, Type 2, Revision 2

b43­phy0 debug: Found Radio: Manuf 0x17F, Version 0x2050, Revision 2

# lsmod | grep b43
























2.Next we need to make sure that the wireless­tools package is installed on our system:

# rpm ­q wireless­tools wireless­tools­29­0.2.pre22.fc8

If not, we need to install it:

# yum install wireless­tools


#rpm ­Uvh wireless­tools­29­0.2.pre22.fc8.x86_64.rpm

3.Finally we will need the b43­fwcutter package. Make sure that it is installed:

#rpm ­q b43­fwcutter


or install it:

# yum install b43­fwcutter

12.1.2WLAN firmware

4.Now we need to download the Broadcom driver, so we may extract the


F8­x86_64 on the Acer Ferrari 3400LMi

firmware from it later. Download it at:­wl­

or I keep a local copy, just in case: http://ferrari,­wl­

5.Uncompress the driver:

#tar jxf broadcom­wl­

6.Extract and install the firmware from the Broadcom driver as root:

#cd broadcom­wl­

#b43­fwcutter ­w /lib/firmware wl_apsta.o

12.2 Get started with WLAN

Now that we have all the pieces we need installed, it is time to check the functionality and get things working.

12.2.1 The manual way

First we do it manually, to make sure we get the results and feedback that we expect. This is to verify the functionality and simplify troubleshooting, if needed.

7. The WLAN interface should show up:

# iwconfig wlan0






wlan0 IEEE 802.11g







Access Point: Not­Associated

Tx­Power=0 dBm






Retry min limit:7

RTS thr:off

Fragment thr=2352 B

Encryption key:off





Link Quality:0

Signal level:0

Noise level:0

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0

Invalid misc:0

Missed beacon:0

8.Turn on the WLAN chip and bring up the interface:

#ip link set wlan0 up

9.OK, now it is time to find out what's in the air:

#iwlist wlan0 scan

wlan0 Scan completed :

Cell 01 ­ Address: 00:E0:63:50:98:B0 ESSID:"Perspektiv" Mode:Master


Frequency:2.412 GHz (Channel 1)

Quality=88/100 Signal level=­25 dBm Noise level=­71


Encryption key:off


F8­x86_64 on the Acer Ferrari 3400LMi

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


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.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s 12 Mb/s; 48 Mb/s

Extra:tsf=0000003b0068b719 Cell 03 ­ Address: 00:11:6B:25:87:18




Frequency:2.462 GHz (Channel 11)

Quality=68/100 Signal level=­25 dBm Noise level=­71


Encryption key:off

Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s 48 Mb/s; 54 Mb/s


10.Choose a network you want to connect to and set the ESSID of your W­LAN interface:

#iwconfig wlan0 essid Perspektiv

11.Your WLAN interface should now be associated with the access point:

# iwconfig wlan0

wlan0 IEEE 802.11g ESSID:"Perspektiv"

Mode:Managed Frequency:2.412 GHz Access Point:






Bit Rate=1


Tx­Power=27 dBm



Retry min limit:7

RTS thr:off

Fragment thr=2352 B






Link Quality=63/100 Signal level=­63 dBm Noise level=­58 dBm

Rx invalid


Rx invalid crypt:0

Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0

Missed beacon:0

Now you are ready to start using your new interface. Most likely your first step will be to request IP setting from an DHCP server (dhclient ­1 wlan0). The next step is probably to permanent your preferences in the file


For further information on wireless networking under Linux, please refer to the numerous HOWTOs on the internet. A good place to start is


F8­x86_64 on the Acer Ferrari 3400LMi

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. It is included in most distributions nowadays and is started by:

#service NetworkManager start

#service NetworkManagerDispatcher start

Try it out and play with it, if you like it and want it to start at system startup type:

#chkconfig ­­add NetworkManager

#chkconfig ­­add NetworkManagerDispatcher

#chkconfig ­­level 5 NetworkManager on

#chkconfig ­­level 5 NetworkManagerDispatcher on

13 Bluetooth

No special actions were needed for me to get Bluetooth up and running. It was truly amazing how easy it was. However, in order to be complete the details are summarized below.

13.1 Verify installation

Make sure that you have the bluez­utils package installed:

# rpm ­q bluez­utils bluez­utils­2.25­4

Also make sure that it is configured to start at boot time:

# chkconfig ­­list bluetooth






0:off 1:off 2:on





If not, you need to add it to the runlevel system:

# chkconfig ­­add bluetooth

Now watch your system log while you push the bluetooth button on the front of your laptop to activate your bluetooth circuities:

# tail ­f /var/log/messages


F8­x86_64 on the Acer Ferrari 3400LMi


... kernel: usb 4­2: new full speed USB device using uhci_hcd and address 4

... kernel: usb 4­2: configuration #1 chosen from 1 choice

... hcid[1963]: HCI dev 0 registered

... hcid[1963]: HCI dev 0 up

... hcid[1963]: Device hci0 has been added

... hcid[1963]: Starting security manager 0

... hcid[1963]: Device hci0 has been activated


The blue led indicator should start blinking as well. Now verify that your bluetooth device is up and running:

# hciconfig ­a hci0: Type: USB

BD Address: 00:0E:9B:87:3B:90 ACL MTU: 192:8 SCO MTU: 64:8 UP RUNNING PSCAN

RX bytes:940 acl:0 sco:0 events:23 errors:0 TX bytes:586 acl:0 sco:0 commands:22 errors:0

Features: 0xff 0xff 0x0f 0x00 0x00 0x00 0x00 0x00 Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3 Link policy: RSWITCH HOLD SNIFF PARK


Name: '­0' Class: 0x100100

Service Classes: Object Transfer Device Class: Computer, Uncategorized

HCI Ver: 1.1 (0x1) HCI Rev: 0x20d LMP Ver: 1.1 (0x1) LMP Subver:


Manufacturer: Cambridge Silicon Radio (10)

If you have come this far without any problems you are all set and ready to go.

13.2 Using a phone modem

To help get you started I have summarized the basic steps to hook up your bluetooth capable phone as a modem. I am using a Sony Ericsson P900 myself, but the steps are general so it should work for most bluetooth phones.

The steps below are exactly the same whether you intend to connect to a remote modem or connect over GPRS. When connecting over GPRS the phone also needs to be connected and recognized as a modem. It is the actual dialing later on in the process that differs.

With FC4 and FC5 I experienced some issues with the PIN­helper, i.e. the dialog window that prompts for a PIN code. However, no such issues has been observed with Fedora 8.


F8­x86_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. By default it is BlueZ, but you may modify it in/etc/bluetooth/hcid.conf. Use the same pin code when the computer prompts you whether to allow the incoming connection.

For convenience you should now configure your phone to allow this device (your computer) to connect without prompting for a pin code.

13.2.2 Prepare the laptop

Now we are ready to configure the laptop. Start by scanning for bluetooth devices in your surrounding:

# hcitool scan


Scanning ...



S­Gs P900

The first field is the bluetooth address of your phone. The second field contains its given name. You should also be able to ping it by its address:

# l2ping 00:0A:D9:E9:D8:4F

Ping: 00:0A:D9:E9:D8:4F from 00:0E:9B:87:3B:90 (data size 44) ...

0 bytes from 00:0A:D9:E9:D8:4F id 0 time 60.87ms

0 bytes from 00:0A:D9:E9:D8:4F id 1 time 27.77ms

0 bytes from 00:0A:D9:E9:D8:4F id 2 time 36.54ms

3 sent, 3 received, 0% loss

Note that you should use your own phones address instead. (My phone will probably be out of range :­)

Now it is time to find out what services your phone provides:

# sdptool browse 00:0A:D9:E9:D8:4F Browsing 00:0A:D9:E9:D8:4F ...

Service Name: Voice gateway Service Description: Voice gateway Service Provider: Sony Ericsson Service RecHandle: 0x10000

Service Class ID List:

"Headset Audio Gateway" (0x1112) "Generic Audio" (0x1203)

Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003)


F8­x86_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: 0x10002 Service Class ID List:

"OBEX File Transfer" (0x1106) Protocol Descriptor List:

"L2CAP" (0x0100) "RFCOMM" (0x0003)

Channel: 2 "OBEX" (0x0008)

Service Name: Bluetooth Serial Port

Service Description: Bluetooth Serial Port

Service Provider: Symbian Ltd.

Service RecHandle: 0x10003

Service Class ID List:

"Serial Port" (0x1101)

Protocol Descriptor List:

"L2CAP" (0x0100)

"RFCOMM" (0x0003)

Channel: 3

Language Base Attr List:

code_ISO639: 0x656e

encoding: 0x6a

base_offset: 0x100

Service Name: Dial­up Networking

Service Description: Dial­up Networking

Service Provider: Sony Ericsson

Service RecHandle: 0x10004

Service Class ID List:


F8­x86_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 Dial­up Networking, so note its channel number.

The next step will be to create a virtual serial device and connect it to your phone:

# rfcomm connect 1 00:0A:D9:E9:D8:4F 4

Connected /dev/rfcomm1 to 00:0A:D9:E9:D8:4F on channel 4 Press CTRL­C for hangup

A short explanation of the command above: rfcomm connect 1 00:0A:D9:E9:D8:4F 4




/dev/rfcomm1 _|


|_ Channel for the Dial­up


Your phones

Networking service

bluetooth address

That is about it. Now your phone is analogue to an external modem connected to your virtual serial device, /dev/rfcomm1. Configure ppp to make use of it and you are done.

13.2.3 Static configuration

Ok, now what? Do I need to repeat all the steps above each time I want to use my phone as a modem? No, for convenience you may configure your system for all this to take place automatically. However, the method you should use depends a bit on your phone.

The preferred method is to edit the rfcomm.conf file so a/dev/rfcommX port automatically binds to the DUN service on your phone when the bluetooth service starts. This means that the virtual serial device will be created and properly configured, but not connected. The actual connection will happen automagically when the virtual serial device is accessed.

Edit the file /etc/bluetooth/rfcomm.conf to contain a section similar to this:

rfcomm1 {

# Automatically bind the device at startup bind yes;