What's What - Motorola MB501

This is a "What's What" which means that it's a list of files that are responsible for things on a device.

Keymapping

 * /system/usr/keychars/
 * /system/usr/keylayout/

Google Apps
for VoiceSearch- /system/lib/libspeech.so
 * /system/app/BugReport.apk
 * /system/app/EnhancedGoogleSearchProvider.apk
 * /system/app/GenieWidget.apk
 * /system/app/Gmail.apk
 * /system/app/GmailProvider.apk
 * /system/app/GoogleApps.apk
 * /system/app/GoogleBackupTransport.apk
 * /system/app/GoogleCheckin.apk
 * /system/app/GoogleContactsSyncAdapter.apk
 * /system/app/GooglePartnerSetup.apk
 * /system/app/GoogleSettingsProvider.apk
 * /system/app/GoogleSubscribedFeeds.apk
 * /system/app/gtalkservice.apk
 * /system/app/LatinImeTutorial.apk
 * /system/app/Maps.apk
 * /system/app/MarketUpdater.apk
 * /system/app/MediaUploader.apk
 * /system/app/NetworkLocation.apk
 * /system/app/SetupWizard.apk
 * /system/app/Street.apk
 * /system/app/Talk.apk
 * /system/app/TalkProvider.apk
 * /system/app/Vending.apk
 * /system/app/VoiceSearch.apk
 * /system/app/YouTube.apk
 * /system/etc/permissions/com.google.android.datamessaging.xml
 * /system/etc/permissions/com.google.android.gtalkservice.xml
 * /system/etc/permissions/com.google.android.maps.xml
 * /system/framework/com.google.android.datamessaging.jar (not needed)
 * /system/framework/com.google.android.gtalkservice.jar
 * /system/framework/com.google.android.maps.jar
 * /system/lib/libgtalk_jni.so

Sensors

 * /system/lib/hw/sensors.msm7k.so
 * /system/lib/libhardware_legacy.so

2D Hardware Accleration

 * /system/lib/hw/gralloc.msm7k.so
 * /system/lib/hw/copybit.msm7k.so

Sound

 * /system/lib/libaudio.so
 * /system/lib/libaudioeq.so
 * /system/lib/libaudioflinger.so
 * /system/lib/libaudiopolicy.so
 * /system/etc/AudioFilter.csv

Radio
Verified in CyanogenMod 7 (Gingerbread)


 * /system/lib/libril.so
 * /system/lib/libreference-ril.so
 * /system/lib/libreference-cdma-sms.so
 * /system/lib/libril-moto-umts-1.so
 * /system/lib/libril-qc-1.so (proprietary sources)
 * /system/bin/qmuxd (proprietary sources)
 * /system/lib/libqmi.so (proprietary sources)
 * /system/lib/liboncrpc.so (need for link libril-qc-1.so)
 * /system/lib/libmmgsdilib.so (need for link libril-qc-1.so)
 * /system/lib/libgsdi_exp.so (need for link libril-qc-1.so)
 * /system/lib/libgstk_exp.so (need for link libril-qc-1.so)
 * /system/lib/libwms.so (need for link libril-qc-1.so)
 * /system/lib/libwmsts.so (need for link libril-qc-1.so)
 * /system/lib/libsnd.so (need for link libril-qc-1.so)
 * /system/lib/libnv.so (need for link libril-qc-1.so)
 * /system/lib/libcm.so (need for link libril-qc-1.so)
 * /system/lib/libdsm.so (need for link libril-qc-1.so)
 * /system/lib/libdss.so (need for link libril-qc-1.so)
 * /system/lib/libqueue.so (need for link libril-qc-1.so)

Start qmuxd using init scripts and chmod /dev/oncrpc and /dev/oncrpc/* to be writeable by qmuxd and rild (777 works fine, but I don't know if it's the best way). Also create /data/radio/ and make it writeable by qmuxd and rild.

Bluetooth
needs to be verified


 * /system/etc/BCM4325D1_004.002.004.0218.0225.hcd
 * /system/etc/bt_init.config
 * /system/bin/bt_downloader
 * /system/bin/bt_init
 * /system/bin/bluetoothd
 * /dev/ttyMSM0 (link to /dev/ttyHS0)

Vibrate
Open mydroid/hardware/libhardware_legacy/vibrator/vibrator.c

Change the following line from:

#define THE_DEVICE "/sys/class/timed_output/vibrator/enable"

to

#define THE_DEVICE "/sys/class/vibrator/vibrator/enable"

or


 * /system/lib/libhardware_legacy.so

SD Card
needs editing details


 * /system/etc/vold.fstab

WiFi

 * /system/etc/wifi/*
 * /system/etc/dhcpcd/*
 * Correct permissions on /data/misc/wifi/ and /data/dhcp/

Touchscreen
Works out of the box in a source build.