Much ado about scripting, Linux & Eclipse: card subject to change

Showing posts with label w810i. Show all posts
Showing posts with label w810i. Show all posts

2008-11-22

Is there a MIDP 2.0 Music Player that does Ogg?

Having switched from ubuntu to Fedora and from .mp3 to .ogg and .flac, I've been looking for a player for my Sony Ericsson W810i... at least until such time as I finally settle on a Blackberry.

Here's what I've tried...

  • jorbis 0.0.17 - unusable UI (won't play); sources provided (no precompiled binary) won't compile with anything less than JDK 1.3; my phone requires CDC-1.1/MIDP 2.0, so this one's a non-starter
  • jOggPlayer 1.1.6s - works on linux with .ogg; ugly UI; won't compile locally with CDC-1.1 (no JApplet class) or JVM 6.0 (missing kiwi.io.* classes in source bundle); precompiled binary won't install on phone
  • jlGui 3.0 - works on linux with .mp3 and .ogg; WinAmp-skinnable; requires JDK 1.4 (won't install on phone)
  • jlGui 2.x - requires JDK 1.3
Does anyone know of a good .ogg or .flac player for MIDP 2.0 devices? None of the ones I tried above work.

2008-01-29

HOWTO: Bluetooth for Linux

Connecting a Thinkpad T60p to a Sony DR-BT30Q Headset

A month or so ago, I scored a Sony Wireless Stereo Headset (DR-BT30Q) with my accumulated Aeroplan miles. Then, when they arrived, I discovered to my dismay that while my SonyEricsson W810i supports Bluetooth 2.0, is DOES NOT support A2DP (Advanced Audio Distribution Profile) or AVRCP (Audio Video Remote Control Profile). So, while I can use 'em to answer the phone, I can't use them to listen to music on my Walkman-branded MP3-playing phone. Last I checked, SE had no intention of publishing updated firmware or any other way of installing these profiles onto existing phones. Way to go, SE.

Anyway, tonight, in a burst of insomnia, I decided to try to install the BlueZ stack on my Thinkpad and try to get these things working. To my pleasant surprise, it worked! Here's the process:

  1. Install bluez & utils
    apt-get install bluez bluez-utils bluez-firmware bluez-hcidump bluetooth bluez-audio kdebluetooth python-bluez
  2. Install a bluez-friendly audio player, like audacious.
    apt-get install audacious
  3. Install Thinkpad button support.
    apt-get install tpb
  4. (Re)start the bluetooth radio -- I tried /etc/init.d/bluetooth restart but it was Fn-F5 that actually turned on the radio. (This is why I needed tpb.)
  5. I ran a2dp.sh a few times, but it never managed to find my device's MAC address.
  6. I then tried to play with hcitool and dbus-send to manually connect to the headset, but that failed miserably. I did however, find the headset's MAC address.
  7. I manually added my device's bluetooth address into ~/.asoundrc, but that also didn't help.
  8. I noticed that the ~/.a2dp/a2dp.py script (created in step 5) was missing the MAC address, so I added it by hand.
  9. I started up K-Menu > System > Settings > kbluetooth and played around with that a little -- no luck.
  10. I started up audacious (and configured it to use bluetooth).
  11. I loaded up the latest episode of Real Synthetic Audio and started it playing.
  12. NOW, finally, I was prompted to authenticate my bluetooth radio with the headset. I entered the standard code, 0000, and voom -- wireless audio! Now all I need is a spiritual awakening, I suppose. :D

2007-07-14

CTRL-ALT-DELETED!

To celebrate Friday the 13th, I went to Ontario Place's Molson Amphitheatre tonight to see Billy Talent tonight w/ SWMNBN, our niece Skylar, and and her friend Katrina. It was Katrina's first time at a concert, and everyone else's second time seeing BT play the home town crowd. Gotta support the local, ahem, talent, after all.

This gave me a chance to try out the video recording on my phone, along with Blogger-in-draft's new video upload feature.

Here's a couple of examples of the a/v quality achievable from my phone, after converting the .3gp files to .mpeg using Miksoft's Mobile Media Converter. I have to say I'm very impressed with the converter (yes, there's a version for linux!) but not so much with the source data captured by the phone.


Surrender


Where Is The Line?

In addition to video, I tried to take some photos throughout the show (including the encore where Ben got everyone to light up cellphones and lighters), but was repeatedly thwarted by the manic fans in front of us. (I can't fault them for having fun, however, as that was the point of the evening after all.) Good times.

2007-04-19

DRM Packaging for Linux

In order to put .mp3s on my new SE W810i phone as ringtunes, I have to convert them first to .dm files. This is a pain, but it could be worse. So, I found SonyEricsson's DRM Packager, installed it, and it works great. Unfortunately, they only provide this tool for Windows and Mac.

So, naturally, it was time to write a Linux implementation. ;-)


Setting up the DRM Packager for use with Linux is easy. Packaging is faster on a native Windows system (seconds instead of milliseconds), but then you have to actually boot Windows, so overall it's still faster.

I'm currently using the following tools for converting MP3s to ringtunes:

  1. mp3 slicing: kwave sound editor, part of KDE (save as uncompressed .wav files)
  2. mpeg compression: lame or sneetchalizer (.mp3 or .mp4)
  3. DRM packaging: Sony Ericsson's DRM Packager tool -- details below (.dm)
  4. copying files to device: Konqueror, part of KDE (drag and drop from hard drive to usb device)

DRM packaging

  1. Download 'DRM Packager 1.35 - Windows' from Sony Ericsson's site.
  2. Install from Executable (using WINE) to default location, eg: ~/.wine/drive_c/Program Files/Sony Ericsson/DRM Packager/.
  3.   wine ~/DRMPackager-1.35-Windows.exe
  4. If your WINE instance doesn't use z: as the drive for the filesystem root (/), edit drmpack.sh and change to s: or whatever your WINE wants.
  5.   rootDir="z:"; # wine directory mapping
  6. Run drmpack.sh to convert a single file or recurse through a directory of .mp3 & .mp4 files, in order to generate .dm files. For syntax help, run w/o commandline options or read the source.
  7.   nickb@nickbdesk:~/ringtunes $ ./drmpack.sh tunes
    
      Processing directory /home/nickb/ringtunes/tunes ...
      Creating /home/nickb/ringtunes/tunes/neuroticfish_shortcommercial.dm ...
      Creating /home/nickb/ringtunes/tunes/neuroticfish_theyrecomingtotakemeaway.dm ...
      Creating /home/nickb/ringtunes/tunes/placebo_runningupthathill.dm ...
      Creating /home/nickb/ringtunes/tunes/placebo_postblue.dm ...
  8. If you prefer a GUI, use DRM Packager.desktop to launch the GUI tool using WINE, then browse for files to add to the GUI, and click 'Create DRM Content'. For Sony Ericsson W810i, DO NOT CHANGE THE DEFAULT SETTINGS! You can launch the GUI from the commandline with:
  9.   wine "c:\Program Files\Sony Ericsson\DRM Packager\DRMPackagerGUI.exe"
  10. If the GUI won't open, try copying MSVCP60.DLL into the DRM Packager install folder. If you don't have a Windows machine handy to grab this file from, Google for a site like http://www.dll-files.com/dllindex/dll-files.shtml?msvcp60 you trust and download it from there.

Tested with:

  • Sony Ericsson W810i phone
  • Sony Ericsson DRMPackager-1.35-Windows.exe
  • WINE 0.9.9-0ubuntu2
  • MEPIS Linux 6.0 (based on Kubuntu 6.06LTS)
  • Windows XP Pro SP2
  • Thinkpad T60p

2007-04-15

My new toy

Decided to make the switch from my crazy-old cellphone to a new one this week, and it arrived yesterday to the usual chorus of barking at the front door.

I'm now the proud owner of a Sony Ericsson W810i, complete w/ 1G of storage for MP3s. Very cool phone; better than my nearly-dead 256M K-BYTE MP3 player. I've only made one actual call on it so far, and the fact that it doesn't come with an actual audio-in jack (2.5 or 3.5mm) is a bit of a turn-off, but it works great for games and music, and sports a 2MP still and video camera.

The first app I had to install was of course Gmail. Being a linux geek, the second was MidpSSH which worked fantastically within a couple minutes (except when I wanted to use an ssh key instead of user/password login, and discovered that OpenSSH doesn't appear to support DSS.) Actually, it was user error. I had MidpSSH configured to use SSH1, not SSH2, so it wasn't even trying to send the key. Anyway, re-RTFM a few hours later solved the problem. I can now ssh to my home machine from my phone! Config steps:

  1. Configure SSH settings to prefer SSH2 and to use Public Keys
  2. Create a session, configured to use your Public Key
  3. Copy your phone's public key to your destination host's ~/.ssh/authorized_hosts file
  4. If necessary, enable debug mode on the destination host's sshd instance by editing /etc/ssh/sshd_config and setting LogLevel DEBUG, then restarting the daemon with /etc/init.d/ssh restart
  5. Connect!