QEMU and blackberry
Hi! I was trying to use Blackberry Desktop under Windows XP under a QEMU virtual machine under Linux.
My problem is that the device is recognized as device id 0fca:0006 and after some seconds it switch to 0fca:0004 . So when I make a "usb_add host:0fca:0006" QEMU lose my request and if I try to make a "usb_add host:0fca:004" the system forever wait something with the CPU at 100%.
Someone have successful experience?
I'll try with a USB bluetooth dongle to bypass the USB interface... i hope that this will help...
The change from 0006 -> 0004 is how the device works by design, it's the Desktop software sending a special USB message to the device to switch modes. 0006 is USB Mass Storage only - the default it will stay at with no Desktop software (well, really the USB drivers portion of it) or under regular Linux or Mac. The 0004 interface is a special dual mode; it has 4 'endpoints', supporting *both* Mass Storage and the control channel at the same time. (mode 0001 is control channel only).
It makes sense why 0006 is failing -- as soon as you plug in the device the USB drivers tell it to switch to 0004 mode; the only way you can stop this is to uninstall the BB Desktop/drivers software. :-/
It *sounds* like when you try and add the usb_host to 0004 it's trying to bind to the wrong endpoints - I'm not sure which ones it's after, but I'm guessing you want to bind the control channels, not the usb mass storage channels. Is there any way you can debug the usb_add command (strace, etc.) to see why it's pegging the CPU @ 100%?
ps: after plugging in the device, did you run "rmmod usb_storage" in linux before trying to use usb_add commands for QEMU?
I probably found where is the mistake. I use qemu 0.9.0 of debian unstable.
With the tree version: if I try to add the BB 004 or another USB bluetooth dongle the cli say:
"Could not add UBS device 'host....'
and in the logs
"usb_host: only one interface supported"
This happen because qemu does not support usb multiple interface... (this is what i understood) so I patched with [Qemu-devel] USB Multiple interface devices .
With this patch i have the result reported in my opening thread and i have the SAME effect with the usb bluetooth dongle (after 10 hours of driver recognition no ending...)
So I think that is not a BB throuble but a USB - QEMU problem.
Ever tried innotek virtualbox? I can plug my blackberry in and it's recognized as so. Just can't get the desktop manager to see it as of yet though. I'm using version 1.5
funny to see that some other had the same problem as I am before ;)
Did someone found a solution for it? I'm using KVM with a patched QEMU (kvm-67 from 28th april this year) but on usb_add commando my guest (32 bit Vista Business on a 64 multilib Linux with 2.6.25 vanilla Kernel) is hanging until I remove the device with usb_del.
I need a solution to sync my BB with my Windows :-) After solving this problem I can delete my native Windows installation and put the space to my penguin :P
Why does BlackBerry have so many USB "issues"?
This is my opinion, so it probably doesn't apply to most people.
I hate my BlackBerry.
I use Linux. BlackBerry doesn't even try to support Linux. Neither do Palm or Apple. I had a Palm Treo before I got my BlackBerry. At least the Palm was open enough that Linux application developers wrote tools that worked very nicely with the Palm.
I want to update my BlackBerry's firmware because I have issues with memory leaks where my http connections fail after a certain amount of usage. I also have issues with dropped phone calls. But since I run Linux, I am out of luck. There are some tools like barry under Linux to sync the BlackBerry, but they don't allow me to update its firmware. I need to use a tool called bcharge just to connect my BlackBerry to Linux because the BlackBerry does some strange stuff with USB. I tried to run a Windows XP client under VirtualBox, but although Windows could see the BlackBerry, the BlackBerry software on Windows won't see my device. I then thought I could buy a micro sd card and back up my data to the card, reset the BlackBerry to factory defaults, and take it into Verizon so they can update the firmware, but now I find that there is no way of backing up my BlackBerry to an sd card.
With my Palm Treo, I could easily sync it under Linux without any USB problems or flakiness. I think I may have even been able to update its firmware under Linux, but I don't recall that for certain. I could back up my data to a memory card. I could update my Palm's firmware from a Windows client running in VMWare or Virtualbox. I think I may have been able to even update my Palm's firmware from the sd card itself.
Granted that Palm has been around a little bit longer than RIM, but RIM has been around for several years too. But RIM doesn't seem to do basic things well. I also find the BlackBerry GUI to be less sharp than the Palm's. The BB GUI reminds me of an Atari ST or Amiga computer from the late 80's. The options menu is just a long list of text words. Not very exciting. Not at all like a 21st century design. The trackball on my BB gets dirty. I miss my Palm's touchscreen.
I regret that I ever bought my BlackBerry. I wish I had an iPhone, but I would at least have the same problems of no native support for Linux. I almost long to have my aging Palm Treo back again. There has to be something better than all of this. Android?
|All times are GMT -5. The time now is 12:07 AM.|
Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.