Showing posts with label bluetooth. Show all posts
Showing posts with label bluetooth. Show all posts

Wednesday, 24 June 2009

A little (geo)clue

Over the past week, I've been working a little on Geoclue stuff.

First up is a Geoclue plugin for gnome-bluetooth, which allows you to set up your Bluetooth GPS device.


This will work best with the patches in the Geoclue bugzilla, so that the selection is instant-apply.

The second piece of work is a Skyhook Geoclue provider. This code manages to put me within 20 yards of my house, though we should be getting NetworkManager's help to get the AP's MAC address.

Finally, my Geoclue Firefox patch should soon be getting reviewed. It's been long enough that I forgot how to build Mozilla (probably a good thing).

As an added bonus, I've sent a patch against NetworkManager to Dan with a gnome-bluetooth plugin, which should allow users to just tick a box to set up PANU Internet access.

Now, we just need somebody reviewing all those Geoclue patches. Maintainer, where are you at?

Thursday, 18 June 2009

I'm upstream!

Or at least, my Wacom Bluetooth tablet driver is. I was wondering in which tree it was lost. You'll still need a patch to bluetoothd though.

Tuesday, 16 June 2009

Simplez! Simple Pairing support now in gnome-bluetooth.

After a furious hacking session (and a bunch of paper-drawn mockups), Simple Pairing support is now in gnome-bluetooth.


Simple Pairing is an optional part of the Bluetooth 2.1 spec, which makes pairing Bluetooth device simpler. For most devices, simply check that the passkey matches on your computer and the device, or for headsets, do nothing, and voila, paired.

Code is in git master, release to follow shortly.

Friday, 22 May 2009

Sixaxis support in BlueZ

Getting the Sixaxis PlayStation 3 joypad to work with Linux (in Bluetooth mode) is a bit of a pain. There were my various attempts at cleaning up the code lying around on the Internet, and hacks involving hidd.

The way to set the pad up in Bluetooth mode is fairly straight forward:
  • Open the USB device
  • Get the device's Bluetooth address through magic USB commands
  • Write your Bluetooth adapter's address in the pad (magic USB commands again), and then give the device back to the USB HID driver, so that it works as a pad through USB.
  • Set up the internals of bluetoothd so it recognises the device, and allows it to connect to your computer
  • When the device connects through Bluetooth, poke at it with magic commands again to enable its HID mode (code is already in bluetoothd's input plugin)
Yesterday I refactored my code as a bluetoothd plugin.

First up, detecting the device being plugged in. I wanted to use DeviceKit's GObject helper library, but it uses the D-Bus DeviceKit daemon which will be going away (note, this is just the DeviceKit daemon itself, not the -power, or -disks "sub"-daemons), in favour of libudev usage.

So I ported devkit-gobject to use libudev directly. Patch is currently being reviewed (it's in DavidZ's inbox), and it should show up soon in udev-extras under a different namespace.

After a bit of work, I had a bluetoothd plugin that detected PS3 pads being plugged in, and did the necessary work to make bluetoothd recognise it on plug.


Next, finishing up the libudev GObject helper library, and getting the bluetoothd plugin reviewed. And it would be nice to finally get the extra functionality merged into a hid driver in the kernel.

PS: Any info on the PS3 Headset or the keypad?

Monday, 18 May 2009

Bluetooth support in NetworkManager

Over the past week, with rock star Dan Williams, we've been working on Bluetooth support in NetworkManager. You can now access the Internet using your Bluetooth mobile phone as long as:
  1. You want to use PAN, and not DUN
  2. You're ready to use the console to set it up
  3. and finally, you have the fixes lying on my hard-drive (or in Dan's e-mail inbox)
This should hopefully be working for Fedora 12.

Monday, 15 September 2008

Living on the edge

If you want to try out the new BlueZ 4 code, and D-Bus API, come to try the upcoming Fedora 10 Beta (coming Tuesday a week). We have BlueZ 4.x and updated obex-data-server, and gvfs working with the new APIs.

gnome-user-share and nautilus-sendto are upcoming as well.

It also allows you to test the PulseAudio Bluetooth integration, if you're feeling particularly adventurous.

Saturday, 17 May 2008

Thanks kernel people

Whoever is responsible for making the rt73usb driver work great out of the box: THANK YOU. I tried it without success when I installed Fedora 8 gold, and now it works brilliantly (and out-of-the-box) on Fedora 9.

Current hacking includes: GPRS/3G support via Bluetooth in NetworkManager, fprintd hacking, and gnome-lirc-properties integration into Fedora (Debian and Ubuntu people, upstream your bleeding patches, kthx).

And for nanobob and Borkis on FIFA: you really didn't need to quit the game when I scored those 2nd goals. Losing against a guy full of margaritas must hurt.

Wednesday, 5 March 2008

Gadgets and gifts

The great sport that is Vincent sent me a copy of Hacking vim for my troubles. Hopefully, I'll be able to get more code written, as requested.


In the free stuff department, last week, a kind soul at Ericsson sent me 2 Sony Ericsson mobile phones, one being the pretty new Sony Ericsson k850i. The other (less interesting) phone is already on its way to one of the gnokii developers without such a device.

I've started playing around with it. It has a good bunch of interesting modes when plugged in via USB, or over Bluetooth, which beg to be (better) supported including:
  • MTP device (Rhythmbox and gvfs)
  • Mass Storage media player (Rhythmbox)
  • ObexFTP over USB and Bluetooth (gvfs, obex-data-server)
  • Serial port (NetworkManager, gnome-phone-manager, gnokii)
Funnily enough, poking people at Nokia didn't get me a test phone in the ~2 years I tried. My wishlist is online :)

Thursday, 28 February 2008

gvfsd-obexftp

I committed my work on the ObexFTP backend for gvfs yesterday, and fixed a good number of bugs in it today (one deadlock, missing icons, etc.). And it's looking quite neat.

After selecting the device in the Bluetooth applet's "Browse Device..." menu, the device shows up on the desktop with a nice name and a window pops up.

Nice icon!

Photos I need to upload somewhere!

The nice thing is that it'll automatically unmount when the phone is out of range, or the Bluetooth adapter is removed/disabled (such as when suspending).

Saturday, 23 February 2008

gnome-bluetooth nearly dead

After the fun time debugging, I started implementing ObexPush in gnome-user-share, pretty much as planned. Code's in SVN. Next up are notifications, and asking whether to accept transfers for each session.

My little transfer just got started

I also committed the new goom visuals to gst-plugins-good. Better visuals, MMX, SSE2 and Altivec optimisations (I think). Get it from CVS while it's hot!

Hot chips, yummy

Tuesday, 22 January 2008

2 down, 3 to go

gnome-obex-send is dead, long live bluetooth-sendto.

Tadas' Google Summer Of Code, mentored by Marcel Holtmann, got us a D-Bus service that does ObexPush and ObexFTP server and client. Last week, I cleaned up Tadas' patch, and sent a big patch to allow bluetooth-sendto feature-parity with the old gnome-obex-send.

nautilus-sendto already got tweaked to use the new program when sending over Bluetooth, and all that code lies in bluez-gnome in rawhide.

This morning, I added ObexFTP support to gnome-user-share. It seems like the right place to allow people to share pictures or music. Already in the newly released gnome-user-share 0.20 and in rawhide.




Next jobs on the line are getting rid of gnome-obex-server, finishing the widgets in bluez-gnome, and porting gnome-vfs-obexftp to gio (although that will probably mean a rewrite using obex-data-server again).

Wednesday, 9 January 2008

Some work updates

Got back to work on Monday, and got a few things done.

I uploaded the videos Thos made available back in December. They're all easily findable.

In December as well, we (Red Hat) provided Matt Davey with a Bluetooth-enabled Palm. And he committed the patches to gnome-pilot SVN trunk a few days later, getting Bluetooth sync support to the Palm (with a UI, I wrote the pilot-sync code ;). Yay!

Instructions for Fedora here.

Friday, 7 December 2007

Remix your brain

Yesterday, I was trying to help out someone who was having problems using his Bluetooth mouse with Fedora 8. Turns out he's got a Toshiba laptop, and the Bluetooth adapter wasn't showing in Linux. You need some sucky code to get it working.

Hobbling to the ToshBT website, I noticed a PS3 theme extractor. Grand!

In between cleaning up my backlog of bugs and TODOs, I implemented setting your ~/.face as the icon for Rhythmbox' UPNP shares.


PS: Best pangram ever: Sex-charged fop blew my junk TV quiz

Saturday, 17 November 2007

gnome-bluetooth kill kill

Last week, I did more work on the Bluetooth device selector, to avoid some of the problems we saw with the one in gnome-bluetooth (mainly the "I work with loads of nerds and there's 500 Bluetooth devices in the vicinity" use case). The patch is available on the bluez-devel mailing-list.

It looks pretty good, but would require some work before it's something bluez-gnome can export as public API.


Anyone fancying some cut'n'paste fest for gnome-phone-manager?

Saturday, 3 November 2007

Interviews

After the Bluetooth interview a couple of weeks ago, another one popped up about codeina/Codec Buddy, starring my good friend Thomas.

In other news, I want to stab Nokia and Sony Ericsson (I stabbed Motorola a long time ago) for their inexistant proprietary protocols specs, and their sub-par AT protocol implementations. Look at the recent commits in gnome-phone-manager for proofs.

Update: I forgot to mention the interviews were the work of Jon Roberts. The interviews make a very good read if you're interested in what's new in Fedora 8.

Monday, 30 July 2007

New releases

bluez-gnome 0.10 was released, and now includes my patches for the "Browse device" functionality. I also released a new shared-mime-info and Totem devel version today. Everything's nicely sitting in rawhide now (or it will be if my last build worked).

Now, I'll go back to doing nothing, as I'm supposed to be on holidays.

By the way, the Simpsons movie was really nice, go and see it. That was my Wednesday morning AFK :)

Wednesday, 25 July 2007

All merged

I bought an M3 Simply for my Nintendo DS, to avoid carrying around the tiny little cartridges, especially when I travel (as per last week's GUADEC where I didn't bring mine). After downloading the ROMs for my games from some shady websites (uhuh), the filenames were less than helpful, but I realised all the sites had nice little icons. Sure enough, they can be thumbnailed. Shame I can't move my Final Fantasy III or Mario Bros saves to the micro SD card...



The Browse Device functionality is now all merged in bluez-gnome, thanks Marcel! Now to clean up the widgets, and finish off the wizard.

g-p-m/g-p-m integration

Richard sent me that little screenshot, showing off the gnome-phone-manager/gnome-power-manager integration, now in SVN of everything.


Yay! Integration! D-Bus! Buzzwords!

Hope I'm not stealing your thunder, but for once, you showed up on IRC after I did :)

Wednesday, 18 July 2007

My 3 GUADEC tasks

I had 3 main tasks when I came to GUADEC.

1. The USB keys
Mandriva provided us with 500 USB keys with a live distro, the usually-printed booklet, and loads of data provided by the sponsors (I quite liked that AMD chose to have compilers on there). If you didn't attend GUADEC, the booklet and data are available in the SVN repo. Shame they only arrived on Tuesday.

2. The football game
Apart from loads of bruises (and a huge nosebleed for me, thanks Glynn for ducking) and a map reading snafu to get there, it was great. For posterity, if you were there, please add the scores from your team and amend the teams if you got moved to another team. (My team finished second again, just one goal in it...). I should add that 3 hours of football is a bit too much.

3. Bluetooth and GNOME talk
Here's my slide, and the intro sound.

Slide 1

It was great not having any slides, but the video should be available very soon. As promised, here's a link to the use cases we have for Fedora.

More GUADEC-y stuff soon.

Tuesday, 10 July 2007

Bemused support in Totem

Should have been a one-day quick hack, ended up taking 2 or 3 if I include the research into the (poor) alternatives.

Behold! Totem now includes a plugin allowing it to run as a Bemused server. This means you can connect your phone/PDA/Palm to Totem, and use it to control playback.

First you'll need Totem SVN trunk, and compile with the Bluetooth library headers installed. More importantly, you'll need a client:
Install the application (left as an exercise to the reader), connect to Totem, and voila! Ready to control.

Now, a comment on the protocol and the code of the different implementations:
  • The protocol disagrees with the native Linux implementation (INFOACK, or INF2ACK for INF2 requests? Null-terminated strings, where?)
  • Doesn't handle Unicode properly, all over the place, the protocol uses NULL characters strings as end of strings, which breaks UTF-8
  • More protocol problems, what happens with empty playlists is a mystery
  • bemused.java has problems handling empty playlists, and truncates movie titles when not.
  • JAMSE isn't open source, and seems hell-bent on using skins, and different clients for different mobile phones ("skin" size)
  • The Totem code is horrible, doesn't handle directory listings (the protocol for directory listings is utter shite, and unworkable), leaks all over the place, and is a security risk (seriously).
That said, the competition isn't that great either, as it doesn't even run (although I just notice that my e-mail was actually answered, but didn't get to my inbox). I guess I'll be looking into Remuco soon.