This is great, how hard would it be to create a flashable .zip file to install from?
Working:
Wifi
MMS
Bluetooth
TouchScreen
Not working:
3g (severe connect/disconnect issues)
Audio
Home button
Trackball
Camera
GPS
Can you clean up your first post instead of just mangling edits all over the place. I'm trying to keep up with what you are doing, but it's just a hodge podge of edits. Something like:
Code:Working: Wifi MMS Bluetooth TouchScreen
Code:Not working: 3g (severe connect/disconnect issues) Audio Home button Trackball Camera GPS
Near the top would be awesome.
Thanks.
Great work texasice! Im waiting for a full ver from u if u successfully port... But libaudio is the problem itself or??
Sent from my Nexus One using Tapatalk
Get this when I open the phone app and press the 2 button (as a test)
createTrack_l() Bad parameter: sampleRate 44100 format 1, channelMask 0x00000001 "for output 0x103b0 with format 1
AudioFlinger could not create track, status: -22
Error creating AudioTrack
createTrack_l() Bad parameter: sampleRate 44100 format 1, channelMask 0x00000001 "for output 0x103b0 with format 1
AudioFlinger could not create track, status: -22
AudioTrack->initCheck failed
ToneGenerator init failed
Exception caught while creating local tone generator: java.lang.RuntimeException: Init failed
playTone: mToneGenerator == null, tone: 2
[ 11-19 06:20:47.159 78:0x242 E/AudioFlinger ]
createTrack_l() Bad parameter: sampleRate 44100 m 44100 format 1 m 1, channelMask 0x00000001 " m 0x00000003 for output 0x103a8 with format 1
Yea here's one that I wrote
Heres my logcat error if anyone knows what it means:
repeatCode:I/SystemServer( 152): Audio Service E/AudioFlinger( 78): createTrack_l() Bad parameter: sampleRate 44100 format 1, channelMask 0x00000001 "for output 0x103b0 with format 1 E/AudioTrack( 152): AudioFlinger could not create track, status: -22 E/SoundPool( 152): Error creating AudioTrack E/AudioFlinger( 78): createTrack_l() Bad parameter: sampleRate 44100 format 1, channelMask 0x00000001 "for output 0x103b0 with format 1 E/AudioTrack( 152): AudioFlinger could not create track, status: -22
Another logcat
I did adb logcat | grep Network
http://logcat.miui.us/506018
Here's one with logcat -b radio
http://logcat.miui.us/500034
DJ_Jedi and I have been investigating. We think the driver is fine but something to do with how audioflinger is handling it.
Changed the audioflinger source for more detailCode:Get this when I open the phone app and press the 2 button (as a test) createTrack_l() Bad parameter: sampleRate 44100 format 1, channelMask 0x00000001 "for output 0x103b0 with format 1 AudioFlinger could not create track, status: -22 Error creating AudioTrack createTrack_l() Bad parameter: sampleRate 44100 format 1, channelMask 0x00000001 "for output 0x103b0 with format 1 AudioFlinger could not create track, status: -22 AudioTrack->initCheck failed ToneGenerator init failed Exception caught while creating local tone generator: java.lang.RuntimeException: Init failed playTone: mToneGenerator == null, tone: 2
So it is either channelMask or mChannelMaskCode:[ 11-19 06:20:47.159 78:0x242 E/AudioFlinger ] createTrack_l() Bad parameter: sampleRate 44100 m 44100 format 1 m 1, channelMask 0x00000001 " m 0x00000003 for output 0x103a8 with format 1
And we're stuck here right now.
AudioStreamOut* AudioHardware::openOutputStream(
uint32_t devices, int *format, uint32_t *channels, uint32_t *sampleRate, status_t *status)
{
{ // scope for the lock
android::Mutex::Autolock lock(mLock);
// only one output stream allowed
if (mOutput) {
if (status) {
*status = INVALID_OPERATION;
} else {
LOGD("Output stream already exists, using existing channels and format");
*status = NO_ERROR;
}
}
return mOutput;
}
// create new output stream
AudioStreamOutMSM72xx* out = new AudioStreamOutMSM72xx();
status_t lStatus = out->set(this, devices, format, channels, sampleRate);
if (status) {
*status = lStatus;
}
if (lStatus == NO_ERROR) {
mOutput = out;
} else {
delete out;
}
}
return mOutput;
}
Code:AudioStreamOut* AudioHardware::openOutputStream( uint32_t devices, int *format, uint32_t *channels, uint32_t *sampleRate, status_t *status) { { // scope for the lock android::Mutex::Autolock lock(mLock); // only one output stream allowed if (mOutput) { if (status) { *status = INVALID_OPERATION; } else { LOGD("Output stream already exists, using existing channels and format"); *status = NO_ERROR; } } return mOutput; } // create new output stream AudioStreamOutMSM72xx* out = new AudioStreamOutMSM72xx(); status_t lStatus = out->set(this, devices, format, channels, sampleRate); if (status) { *status = lStatus; } if (lStatus == NO_ERROR) { mOutput = out; } else { delete out; } } return mOutput; }
Hoping this should fix audio issues, will try it when I have time.
In this code you're not relasing the mutex... i think that we have to relase it before return...
Not Working:Wifi
MMS
Calling (People I talk to say they can hear me better than the could when i was on CM7)(Probably coincidence)
Bluetooth (works for babijoee but broken for me)
TouchScreen (Multitouch)
Sound (Flawless)
GPS (works for me)
Accelerometer (rotation) (works for babijoee but broken for me)
Home button
3g (seems to like radio 5.08.00.04)(works for me)
Headphone jack
Network Stats and Quota
Questions? Check out this FAQ (thanks alex_mobile)Trackball
Camera
USB mass storage (use adb)
Hardware Accelaration
Wifi Signal Strengh Icon in Status Bar.
tar xjf ics-passion-alpha*.tar.bz2
adb reboot bootloader
fastboot -w
fastboot flash system system.img
fastboot flash userdata userdata.img
fastboot flash boot boot.img
fastboot reboot
repo init -u git://github.com/ics-passion-dev/android.git -b ics
repo sync
cd hardware/msm7k
git fetch http://review.cyanogenmod.com/p/CyanogenMod/android_hardware_msm7k refs/changes/03/10303/1 && git cherry-pick FETCH_HEAD
. build/envsetup.sh
lunch full_passion-userdebug
mka
The driver structure looks very similar. I would guess that all you only need to change is https://github.com/pershoot/kernel-2638/blob/master/arch/arm/mach-msm/htc_35mm_jack.c
and remove line 224:
hi->ext_35mm_status |= BIT_35MM_HEADSET;
This value makes the sysfs have a value of 120 instead of 2.
#define BIT_35MM_HEADSET (1 << 7)