Help - Search - Members - Calendar
Full Version: Bluetooth On The Sl-3000?
OESF Portables Forum > Everything Else > Archived Forums > Distros, Development, and Model Specific Forums > Model Specific Forums > Sharp Zaurus > C1000/3x00 General discussions
Pages: 1, 2, 3
I have been trying to set up bluetooth with the bluez drivers and apps. Sadly, that's not a howto - I did not suceed. The main thing that lacked was drivers for the 2.4.20 kernel. I had drivers for the 2.4.18 so I used them, but it caused kernel panic (though the drivers would load).
Did anyone have any success? Got the drivers compiled for the 2.4.20 kernel (now that you can fetch the source) ?
Good news.

Had a word with tumnus (the person that has been doing much of the bluez stuff) and he is planning to look at recompile of bluez for use with the C3000.

So, should get it soon (hopefully).
Yeah, the SL-3000 kernel modules are compiling as I type.

Hopefully there won't be any problems (the latest BlueZ patches had a few failed chunks, but it doesn't look like it was on bits I will be compiling).

So then I'll compile the latest BlueZ utilities and libraries, package them up as before and then put them somewhere for testing.

If that all works, I'm going to update the other BlueZ packages with the latest utilities and libraries and see about getting cards like Socket Rev G working out of the box and put that into both sets of packages.
Modules have compiled ok. Now I need to know where they go, so what is the directory under /lib/modules on the SL-3000? I'm guessing this has changed in more than just the kernel version.
Have all the utilities and libs compiled now (well I think so. libsdp seems to have been removed in the latest BlueZ) and the package is ready to be zipped up. All I need now is that directory info I asked for above.

The directory under lib/modules is: 2.4.20

Inside 2.4.20 we have the directories: kernel, net, pcmcia and rsaipsecc. Also inside 2.4.20 are the files modules.dep, modules.generic_string, modules.isapnpmap, modules.parportmap, modules.pcimap, modules.usbmap.

If you need anymore info, let me know soon as I have to send the C3000 back on Monday the 20th.

It's just /lib/modules/2.4.20 ?

On the other Zauruses its /lib/modules/2.4.18-rmk7-pxa3-embedix

Obviously the kernel version is different, but I didn't know if the rest of the directory name had changed.
Yep, it's really /lib/modules/2.4.20.
Ok, thanks. I was having a hard time believing they did something sane smile.gif

Here is the ipk then (as long as the upload works).

It is equivalent to the bluez-zaurus_2.3-2.4.18d.ipk for other Zauruses, so the Bluetooth howto should still apply.

Whoever tests this, please check your Bluetooth card comes up with hciconfig and test the discovery or other devices with hcitool and sdptool.

EDIT: bluez_zaurus_2.12_2.4.20_alpha_arm.ipk doesn't work. Look out for an alpha2 ipk below.

I gave it a try. On installation it told me to rename the package to bluez-zaurus_arm and try again. Did that and the installer then launched successfully.

As it ran, the machine dopped to runlevel 5, and was attempting modprobe if I recall corectly. It echoed this about 5x on the display then gave an error to the effect that it couldn not find wlan0. No BT card was in the slot, but my wifi card was-- been a while since I installed Bluez on my c860 but I dont recall anything like this happening or it being a no-no to have an wifi card in the slot.

Then the machine rebooted. Hmmm... I will play more tomorrow.

Since this is a review unit, I'll be returning the c3000 on Monday. So I'll try to explore some more tomorrow. If it's easier tumnus, you can email me directly with any questions. I think you have my email- it's my first name

Tried again without the wifi ccard in the slot and the installer worked fine rolleyes.gif
Cool. Thanks for testing it. Don't know what happened there with the WiFi card in it. Must remember that as an instruction for installation.

The filename got mangled in the upload to the forum. It should be:


Do all of the BlueZ tools work? Anyone else had a go at this package?
It' a very nice project.

I'm trying to use HP's Bluetooth foldable keyboard.
I have modified Cwaig's IRK driver and the keyboard can work with SL-C750 now.
However, it does not work with SL-C3000 because Bluez does not support C3000.

I have not tried your ipk yet, sorry, but I'd like to request a support for USB devices because the SL-C3000 has a USB host function.
I want to use a Bluetooth USB adapter, which is cheaper than a Bluetooth CF card.

Thanks in advance.
I have installed the package on my unit, and here is the log
Hope it helps
bash-2.05$ su
# ipkg install bluez_zaurus_2.12_2.4.20_alpha_arm.ipk
Unpacking bluez...Done.
Configuring bluez...depmod: *** Unresolved symbols in /lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o
Starting Bluetooth... /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: kernel-module version mismatch
       /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o was compiled for kernel version 2.4.20-mh18
       while this kernel is version 2.4.20.
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: insmod /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: insmod rfcomm failed
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: kernel-module version mismatch
       /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o was compiled for kernel version 2.4.20-mh18
       while this kernel is version 2.4.20.
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: insmod /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: insmod l2cap failed
Can't open RFCOMM control socket: Address family not supported by protocol
ioctl(): Device or resource busy
ioctl(): Device or resource busy
I got exactly the same result

# pwd
# ls
bluez.o  bnep     l2cap.o  rfcomm   sco.o
# depmod -a
depmod: *** Unresolved symbols in /lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o
# modprobe bnep
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: kernel-module version mismatch
       /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o was compiled for kernel version 2.4.20-mh18
       while this kernel is version 2.4.20.
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: insmod /lib/modules/2.4.20/kernel/net/bluetooth/bluez.o failed
/lib/modules/2.4.20/kernel/net/bluetooth/bluez.o: insmod bnep failed
Ok thanks everyone. I'm gonna have to try with an unpatched kernel and hope the latest BlueZ utilities work with it. Won't take long...
So it's going to take a bit longer. The unpatched kernel seems to be missing the rfcomm stuff, which is pretty crucial to dial up. sad.gif

This is where I wish I had a SL-3000 for testing....
No luck with those modules - but keep up the good work!
Indeed the kernel seems unpatched.

your mods to cwaig's IRK package sound great. Perchance have you posted your mods anywhere?

I want to trade my IR keyboard for a BT version.



The ipk is here:
This modified package supports some IR keyboards and HP's bluetooth foldable keyboard.
HP's bluetooth foldable keyboard has Bluetooth serial port profile (SPP)(like cellular phones and GPS receivers),
so I have merely added a combo-box menu for the /dev/rfcomm port to the IRK package to communicate with the keyboard.
Be careful that the HID-profile type bluetooth keyboard, like Thinkoutside's product, doesn't work with this driver.

To use HP's keyboard, configure the "/etc/bluetooth/rfcomm.conf" file, and choose "HPfoldableBT" and "Bluetooth(rfcommX)"
menus at the comboboxes in IRK settings dialogue.
If you use this package
set the PIN number to "0000" in "/etc/bluetooth/givepin" and "/etc/bluetooth/pin" files.
Press the pairing button of the keyboard first, and then click the "on" radio-button on the IRK controlbar.
The pairing process will start.
Sometimes deleting the "/etc/bluetooth/link_key" file may be needed, if pairing could not be made.
After the LED on the keyboard turns off, you can type a word without taking care of the direction nor level of the IR port.
Ok, here is alpha 2 of the ipk for the SL-3000 BlueZ. Please make sure the previous version, if you tried it, has been uninstalled cleanly before testing this. Thanks.

I have hopefully resolved the kernel version mismatch (well, hacked it cool.gif ). I'm not sure why there were unrecognised symbols in the bnep module. The bnep module handles PAN connections, so that may still be broken, but rfcomm (which handles serial/dialup connections) may be working now so connecting to a phone might be possible with this package.

P.S. The Bluetooth mods to IRK are cool, but since it is not SL-3000 specific, it probably belongs in its own thread. Cwaig himself said he was going to have a look at this. Putting it in the Accessories forum will get it more exposure too.

Again, the ipk filename should be 'bluez-zaurus_2.12-2.4.20-alpha2_arm.ipk' but some of the dashes may get turned to underscores with this upload.

EDIT: Look further down this thread for alpha3 of this ipk.
woo , thx, i will try it soon,

Good Job!!

Big backlog of emails, voicemails and orders to clear through. But will try in the next few days...
Wel, I am able to connect to my Motorola V600 this time with alpha2

I follow the HOW TO steps
and ignored all the error and reboot

Here is the log from the installation:

Configuring bluez...depmod: /lib/modules/2.4.20/kernel/net/bluetooth/bnep/.bnep.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/bnep/.core.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/bnep/.crc32.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/bnep/.depend is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/bnep/.netdev.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/bnep/.sock.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/rfcomm/.core.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/rfcomm/.crc.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/rfcomm/.depend is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/rfcomm/.rfcomm.o.flags is
not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/rfcomm/.sock.o.flags is not an ELF file
depmod: /lib/modules/2.4.20/kernel/net/bluetooth/rfcomm/.tty.o.flags is not an ELF file
depmod: *** Unresolved symbols in /lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o
Starting Bluetooth... Done.
ioctl(): Device or resource busy
ioctl(): Device or resource busy

# /etc/rc.d/init.d/bluetooth restart
Shutting down Bluetooth... Done.
Starting Bluetooth... Note: /etc/modules.conf is more recent than /lib/modules/2.4.20/modules.dep
Note: /etc/modules.conf is more recent than /lib/modules/2.4.20/modules.depsyntax error line 15

This time hciconfig show my card info, and sdptool show my motorola phone
I could pair with it without any problem

But I still have problem with the internet access, but maybe just because the t-mobile APN configuration.

Hope this help
and thanks for your hard work
Oops. Didn't noticed I had copied those files into the package. They shouldn't affect anything though. That bnep module is still causing problems, but it looks like all the other modules loaded ok.

Yan, if you run the following command you will be able to see if it is connecting to your phone:

pppd call BT-GPRS -detach debug

where BT-GPRS is the name of the PPP peers script that should connect to your phone. If you see a line containing someting like "/dev/rfcomm1 <--> ppp0" in the output, then the Bluetooth connection to your phone is probably working fine.

Thanks for testing.
biggrin.gif Yeah. Bluetooth works. That's really great, thanx a lot.

Some remarks:

Bluetooth network applet: The network applet doesn't work correctly. If e. g. opera or qtmail wants to initiate a new connection everything is fine. But if you try to use the applet from the taskbar, the bluetooth connection isn't shown and you cannot connect. I seems that something about the applet has changed. Ad-hoc-solution: Create an irda-connection as described here:

Suspend-resume: After a suspend-resume cycle, bluetooth will not work any more. The suspend-resume packages don't work. Ad-hoc-solution: Eject and reinsert the bluetooth card. I wrote the following script to do so:

#! /bin/sh
cardctl eject
cardctl insert
sleep 5

I linked the script into the Settings-tab and after a resume I can reset the bluetooth-card manually by starting the script and without physically ejecting and reinserting it.
Oh, sorry.... I will make a new thread.

Your new package works fine with my SL-C3000 + LinkEvolution Bluetooth CF card (LSE039).
It's very nice, thanks!
Neato. At least dialup is working then smile.gif . Don't know what is going on with the PAN module. I'm away over Christmas and New Years so I don't think I'll be able to fix it until January. (I may get some time to work on the Bluetooth GUI though on my 5600)

I'm guessing the Network applet doesn't show up because the way a BT card is seen has changed with the latest BlueZ utilities and libraries. Maslovsky wrote those so I might speak with him about upgrading everything to the latest BlueZ stuff.

As for the suspend/resume stuff, I don't know why it isn't working. It doesn't work at all? Did you install the sudo package? Does the file /usr/local/bin/apm exist on the 3000? Sudo and the apm binary being in that directory are about the only dependencies of the suspend/resume stuff.
I'm guessing the Network applet doesn't show up because the way a BT card is seen has changed with the latest BlueZ utilities and libraries. Maslovsky wrote those so I might speak with him about upgrading everything to the latest BlueZ stuff.

Actualy bluetooth applets work fine with the latest bluez drivers, libs and utilities - I got them all on Cacko 1.22.

BTW, it's great to hear that we might finaly see bluez GUI completed smile.gif
Did you have to change anything for the latest stuff?
Hi all , i have tried the alpha2 driver, it got nothing when i type hciconfig command, it seems my BT card is not supported. but i cannot found a uninstall item of bluez driver in add/remove option. anyone can teach me how to remove the driver completely for next version installation?

Thanks and Regards
It must not have installed properly if it does not show up in the Uninstall list.

Which BT card do you have?
i am using EagleTec ET-CFBTH-B

Thanks your help

thank you so much for your work!

For the record, I have a 3k, Socket CF BT (Rev H.) and a Sony Ericsson T637.

I installed:

I can now get on-line via a GPRS connection.

Best Regards,

i have fail to install the driver, how can i remove the driver manaually?
You can probably try installing it again.

I have never heard of your card. What does the command 'cardctl ident' output on your zaurus when you have the card inserted?
QUOTE(tumnus @ Dec 31 2004, 01:42 PM)
You can probably try installing it again.

I have never heard of your card. What does the command 'cardctl ident' output on your zaurus when you have the card inserted?

it just show as belows:

Socket 0:
product info : "Compact Flash","Bluetooth Card","",""
function: 2 (serial)
Your card looks like it needs to be setup like other serial based Bluetooth cards. The hardest part is guessing the initialisation parameters.

In the file /etc/bluetooth/uart you need to add a new line for your card that looks something like this:

"Compact Flash","Bluetooth Card","","":/dev/ttyS3 bcsp 115200

The first part, before the colon (smile.gif must match the output of cardctl exactly. The second part is what is passed to hciattach to initialise your card. /dev/ttyS3 must always be there, but the other two parameters can be changed. The speed may be some other multiple. You should be able to change it and test any new settings just by ejecting and reinserting your card.
Thx, i will try again.. or buy a compatible BT
Can someone with a SL-3000 post the output from the following command using my alpha2 ipk found in this thread:

modprobe -v bnep

I think the only unresolved symbol should be sockfd_lookup. If it is, then I can fix it as I have done for the new BlueZ ipk for all other Zaurus models. Then I can make an alpha3 package that will also include some other improvements.
# modprobe -v bnep
/sbin/insmod /lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o
Using /lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o
Symbol version prefix ''
/lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o: unresolved symbol sockfd_lookup
/lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o: insmod /lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o failed
/lib/modules/2.4.20/kernel/net/bluetooth/bnep/bnep.o: insmod bnep failed

hope this help
That's what I was expecting, thanks.
I've created another ipk. The bnep module problems should be fixed now, so the PAN profile should be working.

I think I have also eliminated the need for the extra bluez-csr-serial ipk, so if you have a UART based card like the Socket Rev G/H, you can remove that ipk altogether.

I have switched to a different driver for the Ambicomm/Pretec BT2000E card, which uses a higher comms speed and can survive suspends, so people with BT2000E cards should not need the susp-resume-bluez ipk either.

For all other cards, I have improved the susp-resume-bluez ipk, so that all cards should come back automatically after a suspend/resume. That ipk can be found in the 2nd post of this thread:

EDIT: Look further down the post for a later ipk
tumnus thanks!

Everything work, no errors during installation.
I couldn't test the PAN profile, but all others work well on my Socket Rev H card.

I'm typing this in my car with bluetooth connection wink.gif
Would anyone who has bluez_zaurus_2.12_2.4.20_alpha3_arm.ipk be able to post it somewhere until the ZUG site is sorted out?

I (and others) would greatly appreciate the favour.

Thanks in advance,

offroadgeek was going to put all the attachements back, but I can repost them when I get home.
Thanks Tumnus!

Hmmm, ok, I'm getting nothing but errors when trying to upload. Hang on...
I've put the alpha3 ipk back on my previous previous post above.
Hi Tumnus,

An update on the alpha3 package:

I have a 3000 with a Socket BT CF card rev H.

I tried the alpha 3 release but nothing worked.
I removed alpha 2 and the csr package. I then installed alpha 3 and the bluez suspend resume package. I made sure my rfcomm.conf file was configured as before when things were working with the alpha 2.

hciconfig found nothing when I inserted the BT CF card and of course the gprs dial up to my bluetooth phone did not work. I tried installing the csr package to see if that would work... but alas no joy. I tried three times to uninstall everything, reboot and reconfigure just to make sure. No success.

I re-installed the alpha 2, the csr package and left in the suspend resume package, configured my rfcomm.conf and I was off to the races. Everything worked.
hciconfig reported data about my CF card as expected and the gprs dial-up worked.

Did I miss something? I assumed the installation of alpha 3 would pretty much be the same affair as alpha 2.

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2018 Invision Power Services, Inc.