Acer 3400LMI User Manual

Size:
756.04 Kb
Download

F8­x86_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. It turned out that the DUN channel on my phone had changed!?! Instead of 4 as in the example above it showed up as channel 2, and later on as channel 3...

The statical configuration done by editing the rfcomm.conf file cannot handle this confusion. Instead I needed to dynamically decide which channel my phone used for the DUN service today and bind to it.

This is done in a simple shell script, that is called just before I intend to connect. Personally, I use Kppp and find it great for both modem­to­modem dial­ups and GPRS connections. So, I have configured KDE to call my script just before Kppp is opened.

First I was a bit suspicious about this method to work all the time, but I have not had any trouble this far and I have been using it for years now. You may find a printout of the script in Appendix C, or download it fromhttp://ferrari.databa.se/3400/f8/dun­bind.sh. Obviously, you will need to change the name of the bluetooth device,BTNAME, and maybe the port to connect it to,RFPORT. Once that is done you may test run it:

#wget http://ferrari.databa.se/3400/f8/dun­bind.sh

#chmod +x dun­bind.sh

#./dun­bind.sh

Checking

for local Bluetooth device...

[

OK

]

Checking

that

/dev/rfcomm1 is free...

[

OK

]

Searching for

remote Bluetooth device S­Gs P900...

[

OK

]

Searching for

Dial Up Networking service...

[

OK

]

Binding /dev/rfcomm1 to DUN channel 3...

[

OK

]

# rfcomm

­a

 

 

 

 

rfcomm1:

00:0A:D9:E9:D8:4F channel 3 clean

 

 

 

Now all you need to do when you want to use your phone as a modem are the most basic steps:

Turn on bluetooth on your phone

Turn on the bluetooth hardware on your laptop Dial!

31

F8­x86_64 on the Acer Ferrari 3400LMi

13.2.5 GPRS

As mentioned earlier the only difference between dialing modem­to­modem 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 modem­to­ 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. Two AT command strings are vital for GPRS connections. First a configuration string is used to specify things like protocol and network provider. This string is passed during modem initialization and in my case it is:

AT+CGDCONT=1,”IP”,”services.vodafone.net”,””,0,0

After initialization the actual dialing is substituted by sending a connection request to the network provider. The request contains the type of connection you want to use, e.g PPP. It should look similar to:

AT+CGDATA=”PPP”,1

When used in a connection tool like Kppp the sequence of AT commands may look similar to the one in the snapshot below.

32

F8­x86_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 andopenobex­apps.

# obex_push 3 00:0A:D9:E9:D8:4F test.jpg

||

| |_ Bluetooth address to send to

|

|_Channel for the OBEX Object Push service

A more convenient way to do this is to use the KDE extension KBluetooth described in its own section below.

13.4 Mouse & keyboard

Once you have got bluetooth working it is a breeze to use a bluetooth mouse and/or keyboard, a.k.a Human Input Device. First you need to scan for your device. Make sure that bluetooth is activated on both the laptop and the mouse/keyboard. Then press the setup button on the mouse/keyboard to make it announce itself and type:

# hidd ­­search Searching ...

Connecting to device 00:0A:94:C1:B6:5D

In the next section you will find a more user friendly and persistent way of connecting your bluetooth mouse/keayboard.

13.5 KBluetooth

If you are running KDE, there is a Bluetooth extension called KBluetooth available. There is a similar package available for Gnome users, but KBluetooth is discussed here. Before starting to explore it you should make sure that all the details work. For this reason it is recommended that you start out with only the basic bluez­utils package as described in the sections above. Once your bluetooth works as expected, go ahead and install KBluetooth.

13.5.1 Installation

Once the details are in place and you know how things work, you may start to play around with KBluetooth. First verify that it is installed by:

# rpm ­q kdebluetooth kdebluetooth­1.0­0.37.beta8.fc8

33

F8­x86_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. The first time it is detected an authentication dialog is raised.

If you want to use the same device in the future without a new acknowledge press Always Accept, otherwise just press Accept. Could it be easier?

13.5.3 Scan for devices

KBlueMon is a basic tool to scan for bluetooth devices nearby. It reports both device address and name, signal strength as well as what services the device provides.

34

F8­x86_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 yourPrecious when you leave it unattended.

35

F8­x86_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 irda­utils, 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). Voilà! Watching the log messages verified that all modules were loaded and I had got a new device,irda0, to play with. The device showed up withifconfig as well. It was just too easy! And yes, although all looked perfect it did not work. Trying theirdadump reviled just a big silence.

14.1 Configuring IrDA

To make a long story short, the IR­chip in the Ferrari supports FIR (as well as SIR) and FIR is the default, while IrDA by default uses SIR. FIR is what you want

36

F8­x86_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 IR­chip. 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. PressF2 during boot­up to enter the BIOS and note the settings for your IR­port. You do not need to change anything, but you need to know your exact setting. I will use my own setting through out this example:

Base I/O address:

[2F8]

Interrupt:

[IRQ

3]

DMA channel:

[DMA

1]

Once you have noticed your corresponding setting just exit the BIOS without saving and start your system.

2.Make sure that no other services use IRQ 3. Most likely your setting is also IRQ 3, so start looking in the /etc/pcmcia/config.opts file. Here you need to uncomment or insert the line

exclude irq 3

to prevent the pcmcia service from intervening.

3.Now we want a module capable of handling FIR on the Ferrari chip to be loaded when the IrDA service is started. The module of choice is nsc­ircc, so add the following two lines in/etc/modprobe.conf:

alias irda0 nsc­ircc

options nsc­ircc dongle_id=0x09 io=0x2f8 irq=3 dma=1

Pay attention to use the settings from your own BIOS for the last three parameters.

4.We also need to tell the IrDa service to attach directly to the device for our FIR capable module, so make sure to change the DEVICE setting in

/etc/sysconfig/irda to:

DEVICE=irda0

5.Then we do not want the generic Linux serial driver to interfere. One way of doing that is to add the following line in /etc/init.d/irda:

setserial /dev/ttyS1 uart none

The line should be place just before

daemon /usr/sbin/irattach ${DEVICE} ${ARGS}

6.While you are at it you might as well disable SIR by commenting out the tty lines. A short snippet of the final /etc/init.d/irda:

...

# /sbin/modprobe ircomm­tty 2>/dev/null

37

F8­x86_64 on the Acer Ferrari 3400LMi

#/sbin/modprobe irtty­sir 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.

nsc­ircc,

chip­>init

 

nsc­ircc,

Found chip at base=0x02e

nsc­ircc,

driver loaded

(Dag Brattli)

IrDA: Registered device

irda0

nsc­ircc,

Using dongle:

IBM31T1100 or Temic TFDS6000/TFDS6500

This verifies that you have got the proper modules in place. The last step is to verify that we are able both of transmitting and receiving traffic. So activate IR on the remote device, e.g. your phone, and place the two IR­ports eye­to­eye. Then do a dump of the traffic:

# irdadump

­i irda0

 

...xid:cmd

62a9cc0d > ffffffff S=6 s=5 (14)

 

...xid:cmd

62a9cc0d > ffffffff S=6 s=* redneck hint=0400 [ Computer ]

(23)

 

 

...xid:cmd

ffffffff < 6f700c8d S=1 s=0 (14)

 

...xid:rsp

62a9cc0d > 6f700c8d S=1 s=0 redneck hint=0400 [ Computer ]

(23)

 

 

...xid:cmd

ffffffff < 6f700c8d S=1 s=* P900

hint=9325 [ PnP PDA/Palmtop

Modem Telephony IrCOMM IrOBEX ] (21)

You're all set! The first I did after this was to use irobex_palm3 <SIS­file> to upload and install GnuBox and some other programs on my phone. To do this you need to have theopenobex andopenobex­apps packages installed and your phone must supports the OBEX protocol. Pretty neat!

15 Modem

The Ferrari 3400 has a Smart Link soft modem installed. After the Ferrari 3400 was produced Smart Link was acquired by Conexant. Conexant has a strange policy when it comes to providing drivers for it products. Linux drivers are not

38

F8­x86_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 pre­compiled. That module is capable of handling the internal soft­modem. Furthermore, this module is properly loaded at startup. However, the modem is still a Smart Link soft­modem so we need a corresponding user space daemon that utilize this ALSA support for our modem.

Notice that the source code distributed by Linuxant is divided in two parts, one general modem daemon and hardware specific drivers in the form of kernel modules. Since we already have an ALSA driver for our model we only need the modem daemon compiled with ALSA support.

That part is provided by Linmodems (http://linmodems.technion.ac.il). They do a great job in providing binary modem daemons, by regular compiles of the Linuxant code. This daemon may very well be compiled as a 32­bit executable. Even if we are running on a 64­bit platform.

Note: Unfortunately the modem support is still unstable. Depending on the versions of the modem daemon and the kernel it might work. Even though, it is very fragile and might very well break on the next kernel update.

Since I do not use the modem I can live with this situation, but I am not happy about it. The installation is not too complicated and is outlined below.

15.1 Installing daemon

Here are the basic steps to get the modem daemon up and running: 1. Start by checking that the alsa­utils package is installed:

# rpm ­q alsa­utils alsa­utils­1.0.15­1.fc8

otherwise install it like this:

#yum install alsa­utils

2.Verfiy that the proper ALSA kernel module is loaded and recognizes the modem:

#aplay ­l

...

card 1: modem [VIA 82XX modem], device 0: VIA 82XX modem [VIA 82XX modem]

Subdevices: 1/1

Subdevice #0: subdevice #0

3. Download the compiled modem daemon, SLMODEMD.gcc4.2.tar.gz, or

39

F8­x86_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. TTY is `/dev/pts/5'

Use `/dev/ttySL0' as modem device, Ctrl+C for termination.

You may see a complete list of recognized countries by:

#slmodemd ­­countrylist

6.For convenience I want the modem driver configured as a service that is started by the Sys V init system. However, the scripts/slmodemd file shipped with the package needs to be modified a bit in order to accomplish this. You will find my modified version inAppendix D.

7.Download and add this script as a service to the Sys V system:

#wget http://ferrari.databa.se/3400/f8/slmodemd­sysv­init.sh

# chmod u+x slmodemd­sysv­init.sh

#./slmodemd­sysv­init.sh install

8.Now edit your configuration options in /etc/sysconfig/slmodemd:

#A list of all supported country names can be retrieved

#by calling "slmodemd ­­countrylist" from the shell prompt. SLMODEMD_COUNTRY="SWEDEN"

#No additional device needed for ALSA mode

SLMODEMD_DEVICE=

#If set to yes the Advanced Linux Sound Architecture

#subsystem is used to make your modem working.

USE_ALSA="yes"

#Other options, see slmodemd ­­help for details SLMODEMD_OPTS="­­nortpriority"

9.Verify that the new service starts correctly:

#service slmodemd start

Starting

SmartLink

Modem driver:

[ OK ]

# service slmodemd

status

 

slmodemd

(pid 8356) is running...

 

40