Bluetooth File transfer between 2 devices running MIUI


Jul 28, 2011
Hi all,

Found a bug that as far as I can tell affects the ability to send files via bluetooth between 2 devices running MIUI.

Basically when ever I try and send to another device running MIUI the transfer fails, if they try and send to me it fails I have tested this between 3 phones running MIUI (Optimus 2X, Desire and SE X10). I can send to other devices not running MIUI, (Tested to U8800, X10 mini pro & Nokia N95) no problems and they can send to me fine.

Tried fresh installs on all the devices running MIUI and the problem persists. All devices are paired ok.

I captured a logcat while trying to send:

I/ActivityManager( 1102): Starting: Intent { dat=content://media/external/images/media/870 (has extras) } from pid 6017
D/ThumbnailCacheManager( 6017): generate full size thumbnail: /mnt/sdcard/download/apple-desktop-wallpaper-LeatherHoles-Plain_6.png
D/dalvikvm( 6017): GC_EXTERNAL_ALLOC freed 727K, 50% free 3257K/6407K, external 5040K/5080K, paused 23ms
D/dalvikvm( 6017): GC_EXTERNAL_ALLOC freed 62K, 50% free 3227K/6407K, external 6127K/7652K, paused 22ms
D/dalvikvm( 6017): GC_EXTERNAL_ALLOC freed 9K, 50% free 3230K/6407K, external 15127K/15675K, paused 26ms
I/ActivityManager( 1102): Displayed +361ms (total +1s715ms)
D/dalvikvm( 6017): GC_EXTERNAL_ALLOC freed 35K, 51% free 3198K/6407K, external 15127K/17175K, paused 22ms
W/KeyCharacterMap( 6017): Can't open keycharmap file
W/KeyCharacterMap( 6017): Error loading keycharmap file '/system/usr/keychars/nvodm_touch.kcm.bin'. hw.keyboards.65541.devname='nvodm_touch'
W/KeyCharacterMap( 6017): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
W/HapticFeedbackUtil( 1102): vibrate: null or empty pattern
I/ActivityManager( 1102): Starting: Intent { act=android.intent.action.SEND typ=image/* (has extras) } from pid 6017
I/ActivityManager( 1102): Starting: Intent { act=android.bluetooth.devicepicker.action.LAUNCH flg=0x800000 (has extras) } from pid 3949
E/BluetoothEventLoop.cpp( 1102): event_filter: Received signal org.bluez.Adapter:PropertyChanged from /org/bluez/6379/hci0
D/dalvikvm( 3124): GC_EXTERNAL_ALLOC freed 364K, 47% free 3848K/7175K, external 1563K/1569K, paused 31ms
V/BluetoothEventRedirector( 3124): Received android.bluetooth.adapter.action.DISCOVERY_STARTED
I/ActivityManager( 1102): Displayed +407ms (total +435ms)
E/BluetoothEventLoop.cpp( 1102): event_filter: Received signal org.bluez.Adapter:DeviceFound from /org/bluez/6379/hci0
D/BluetoothService( 1102): updateDeviceServiceChannelCache(00:1E:3A:2F:3D:75)
V/BluetoothEventRedirector( 3124): Received android.bluetooth.device.action.FOUND
I/AlarmManager( 1102): wakelock acquire, uid:1000 at elapsed real time: 19882444
I/AlarmManager( 1102): wakelock acquire, uid:10087 at elapsed real time: 19882447
I/AlarmManager( 1102): wakelock release, uid:1000 at elapsed real time: 19882467
D/dalvikvm( 2517): GC_CONCURRENT freed 463K, 48% free 3167K/6087K, external 7K/512K, paused 2ms+2ms
I/AlarmManager( 1102): wakelock release, uid:10087 at elapsed real time: 19882574
D/dalvikvm( 2517): GC_CONCURRENT freed 466K, 48% free 3172K/6087K, external 191K/512K, paused 2ms+72ms
W/ProcessStats( 1102): Skipping unknown process pid 7721
W/ProcessStats( 1102): Skipping unknown process pid 7722
E/BluetoothEventLoop.cpp( 1102): event_filter: Received signal org.bluez.Adapter:PropertyChanged from /org/bluez/6379/hci0
E/BluetoothService.cpp( 1102): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session)
I/AlarmManager( 1102): wakelock acquire, uid:10008 at elapsed real time: 19885408
V/BluetoothEventRedirector( 3124): Received android.bluetooth.adapter.action.DISCOVERY_FINISHED
I/AlarmManager( 1102): wakelock release, uid:10008 at elapsed real time: 19885454
I/EventLogService( 1295): Aggregate from 1315680182903 (log), 1315680182903 (data)
D/dalvikvm( 6017): GC_EXTERNAL_ALLOC freed 428K, 49% free 3302K/6407K, external 17941K/17954K, paused 75ms
E/BtOppTransfer( 3949): Rfcomm socket connect exception
D/MediaUploader( 2496): PhoneStateBroadcastReceiver.onReceive: CS is disabled or not initialized - skipping Intent { act=android.intent.action.BATTERY_CHANGED flg=0x60000000 (has extras) }

I'd like to see if anyone else is having this problem beetween 2 MIUI devices, I have found a number of threads on various forums where people have reported the same issue, but the threads are pretty much dead with no resolution.

As also if anyone has any ideas about why its failing between MIUI but not to other devices.