New CM10.1 Audio HAL for Steelhead Amplifier - Nexus Q Android Development

I have been using my Nexus Q for about a year via the audio amplifier outputs. When the last Music update broke Q functionality, I decided to give CM10.1 a try on the Q. After fighting some installation issues, where all audio output except "Alarms" were silenced, I found that audio is only working on the HDMI output.
After digging through the code and doing a bit of analysis of the stock Audio HAL, I figured out how to make an audio HAL that supports the TAS5713 audio amplifier used in the Q. As of now, it only supports one audio output device (either HDMI, S/PDIF, or TAS5713) at a time, and the output can only be changed during compile time.
But with some work, this HAL could eventually support all three outputs (HDMI, S/PDIF, TAS5713.) The issue is that Android only appears to support one output device at a time. In order to overcome this, I believe the audio HAL would have to replicate the PCM data stream and send a separate copy to each device.
Through experimentation, I found that the TAS5713 requires a 48KHz audio stream, and S/PDIF also works well with this rate.
Another challenge is that the TAS5713 amplifier volume is controlled by the kernel driver, so you have to tell Android that the Audio HAL will do the volume control itself (ie, not rely on the mixer in Android.) For this reason, if all three output devices are eventually supported, volume control for S/PDIF and HDMI would have to be done in software. Perhaps it can be done while duplicating the PCM stream by taking each of the 16-bit values and multiplying it by the volume level.
Looking through the Steelhead kernel, you can see that Google put some work into being able to synchronize the three audio output devices. This would also have to be added to the HAL for proper operation.
Anyway, I'm putting the changes out there in GitHub in case someone wants to do some more improvement to this audio HAL.
The fork of CyanogenMod/android_device_google_steelhead is hharte/android_device_google_steelhead:
https://github.com/hharte/android_device_google_steelhead
For binaries that you can flash to your Q (TAS5713 audio amplifier and S/PDIF) please scroll down to post #9 and choose the correct binary. Each binary only supports one audio output.

Please make this a reality.. I'm dying to have the analogue outputs working at the same as HDMI. it was possible on the stock Nexus Q image.

Thank you for the work you've put into making this a reality. I would love to try out a build with the amplifier selected as the output device, but it sounds like you can't control the volume natively?
Sent from my Nexus 4 using Tapatalk 2

Thanks for doing this!
After cloning your repository, I wasn't sure what to modify to have audio output through S/PDIF or TAS5713. Would you mind giving some advice to someone new to building CM?
Thanks in advance.

mahler47 said:
Thanks for doing this!
After cloning your repository, I wasn't sure what to modify to have audio output through S/PDIF or TAS5713. Would you mind giving some advice to someone new to building CM?
Thanks in advance.
Click to expand...
Click to collapse
In device/google/steelhead/audio/audio_hw.c, change the following line in the function adev_open():
adev->card = CARD_STEELHEAD_TAS5713;
Change CARD_STEELHEAD_TAS5713 to one of:
CARD_STEELHEAD_HDMI,
CARD_STEELHEAD_SPDIF,
CARD_STEELHEAD_TAS5713
Volume control should work fine for each of these, based on my last commit:
https://github.com/hharte/android_d...mmit/a15f772b5651e0b14c65f6ff1a6d498d2951e081
Then "brunch steelhead" to re-build CM10.1 for Nexus Q. After it is done building, you can go into out/target/product/steelhead/ and do "fastboot -w flashall" to wipe and flash the new CM image. If you are making minor mods, no need to use "-w" to wipe.
Please let me know if you find any issues. One of the main things I've struggled with when using CM10.1 on Nexus Q is that sometimes after installing gapps, the audio is completely silent. I have not found a good way to fix this other than downloading and installing "Audio Manager" from the Play Store.
-Howard

Howard, YOU ROCK!
This is amazing. My Nexus Q is nearly back to the functionality that I once had with stock firmware, and it's once again a useful device.
Here's my setup:
1) 2013-06-12 nightly build with your changes merged, and as instructed above, audio sent to S/PDIF. My Q is connected to the stereo via optical cable.
2) VNC Server is installed on the Q, and it turns on upon boot. I am using this VNC Server, but I bet others would work.
https://play.google.com/store/apps/details?id=com.schumi.vncs
3) I also have FTP server and ADB Wireless turned on upon booting so I can push files and mess with the Q remotely.
4) VNC Viewer installed on my other devices.
With all of that, I can basically control the Q remotely from my phone, tablet, or computer. VNC is slow, even with a wired connection, but it works.
Prior to your good work, I had to have the TV on to hear anything out of my Nexus Q. However, with the changes you've implemented, I no longer have to do that. My Q lives again!! :victory:
Thanks so much--things can only get better and better from here. This is exactly why the Android community is so amazing.

mahler47 said:
Howard, YOU ROCK!
This is amazing. My Nexus Q is nearly back to the functionality that I once had with stock firmware, and it's once again a useful device.
Here's my setup:
1) 2013-06-12 nightly build with your changes merged, and as instructed above, audio sent to S/PDIF. My Q is connected to the stereo via optical cable.
2) VNC Server is installed on the Q, and it turns on upon boot. I am using this VNC Server, but I bet others would work.
https://play.google.com/store/apps/details?id=com.schumi.vncs
3) I also have FTP server and ADB Wireless turned on upon booting so I can push files and mess with the Q remotely.
4) VNC Viewer installed on my other devices.
With all of that, I can basically control the Q remotely from my phone, tablet, or computer. VNC is slow, even with a wired connection, but it works.
Prior to your good work, I had to have the TV on to hear anything out of my Nexus Q. However, with the changes you've implemented, I no longer have to do that. My Q lives again!! :victory:
Thanks so much--things can only get better and better from here. This is exactly why the Android community is so amazing.
Click to expand...
Click to collapse
Glad to hear that it is working for you. I'm using AirBubble and Bubble uPnP apps on my Q along with "Remote for iTunes" on my phones/tablet. This allows me to actually use my iTunes library on the Q remotely, and DLNA as well.
What needs to be done next (but not sure when I will have time to do it) is to make some changes to the Audio HAL to replicate the audio stream for each output (HDMI, Amplifier, S/PDIF) and implement software volume control for the HDMI and S/PDIF.
Another really cool thing would be to be able to make the Q into a Bluetooth A2DP sink. Then you could pair it to your phone and use it as a set of bluetooth speakers.
Google obviously put a lot more effort into the Q than I have done (making a remote management app that is simple to use, and put a lot of work into making sure that the three audio outputs are synchronized.) So there is a lot more work that needs to be done.
Maybe eventually Cyanogenmod can take my audio HAL. At least it seems to be working as well as the one included in the CM10.1 nightly, and adds the choice of using the other audio outputs, although only as a compile option unfortunately.

I'm embarrassingly uninformed about the inner workings of Android, but is ALSA in Android in any way like it is in Linux? Because I think in Linux when you use ALSA to configure your sound devices and let's say you use Pulse Audio, you have to define in the ALSA config which devices to output sound to and also expose them somehow to the PA mixer. It sounds like what you're doing is only compiling one alsa module whereas a HAL more like the one Google's would be 3 separate modules, right? And then I have no idea how the Android mixer works, but in Linux you'd have a master slider that would control the digital sound and then separate sliders for each output device. Is that sort of behavior replicable in Android?
On a different note, I'm really really sorry to beg because I'm so close to getting a CM build environment set up for the first time, but could either of you gentleman upload a working TAS5713 build? I feel pathetic because it's taken me 2 days just to get a VM image set up on my wife's laptop and most of the CM repo synced and I just *know* that this rom is going to take hours to compile (assuming I was competent enough to set it up right and create a proper manifest). Once/if I get everything set up, I think I'm going to go ahead and commit to merging your amazing work with CM10.1 final when it's out and uploading the zip so that all 5 of us Nexus Q owners out there don't each have compile it from source, but for now, I'd appreciate any help y'all can give me

Malnilion said:
On a different note, I'm really really sorry to beg because I'm so close to getting a CM build environment set up for the first time, but could either of you gentleman upload a working TAS5713 build? I feel pathetic because it's taken me 2 days just to get a VM image set up on my wife's laptop and most of the CM repo synced and I just *know* that this rom is going to take hours to compile (assuming I was competent enough to set it up right and create a proper manifest). Once/if I get everything set up, I think I'm going to go ahead and commit to merging your amazing work with CM10.1 final when it's out and uploading the zip so that all 5 of us Nexus Q owners out there don't each have compile it from source, but for now, I'd appreciate any help y'all can give me
Click to expand...
Click to collapse
Hello,
Here is a build of CM10.1 from repo sync on 6/17/2013 for each of TAS5713 and SPIDF outputs:
These files ar enow being hosted at AndroidFileHost
TAS5713 (Audio Amplifier):
Download: https://www.androidfilehost.com/?fid=95784891001602467 (148MB)
MD5SUM: adc98db7a9905b89c0d2fa9eab601f58 *cm-10.1-20130617-UNOFFICIAL-steelhead_TAS5713.zip
SPDIF:
Download: https://www.androidfilehost.com/?fid=95784891001602468 (148MB)
MD5SUM: ec26a86a5011cf480a9efb3cee63e000 *cm-10.1-20130617-UNOFFICIAL-steelhead_SPDIF.zip
HDMI: Use stock CM 10.1 nightly build.
Note: If, after installing, you don't have any sound, then install gapps and download "Audio Manager" from the Play Store. Run Audio Manager and select the "Mute" profile, and then select the "Loud" profile.
To install:
Boot into recovery mode:
Code:
fastboot boot recovery.img
When Q has reached recovery mode, push the cm-10.1-....zip to /sdcard using adb, ie:
Code:
adb push cm-10.1-20130617-UNOFFICIAL-steelhead_TAS5713.zip /sdcard/
push gapps (if desired) to /sdcard/
gapps-20130301.zip http://goo.im/gapps/gapps-jb-20130301-signed.zip md5: b7e53e96e1c8b1a1c4865bf29418c8e0
From within recovery, "install zip from sdcard" and browse to cm zip file. After this has installed, it is a good idea to wipe data and cache. Then install gapps (if desired) by again choosing "install zip from sdcard" and choosing the gapps .zip file.
If cm10.1 gets stuck in a boot loop, then you probably forgot to wipe. Reboot the Q back into fastboot as follows:
Unplug power for Nexus Q and wait about 10 seconds.
Plug Q back in.
When the LED lights up on the top of the Q, cover it with your hand until the LED ring turns red. This has to be done in less than one second. If you miss it, try again.
As soon as the ring is RED, remove your hand, and the Q should be in fastboot mode.
Now, you can "fastboot -w" to wipe, or "fastboot boot recovery.img" to boot into recovery and wipe using the menu.
Please let me know how these work for you. I'm using these TAS5713 and SPDIF builds now and they are working fine for me.

Thank you so much! My foray into rom building was initially a disaster. I got what I thought was a good virtual image built and configured, but then I found out a fundamental error on my part...I had built a 32bit image. So, I finally just installed Ubuntu on a system partition and finally yesterday built my first stock CM image. I'm going to keep going so I can build for myself, but at least now I can listen to my music on my nexus q speakers while I'm working
Your build is working just great for me. The only times I've had volume issues on stock, I just had to wiggle the nexus q top and tap mute/unmute a couple times. I don't know if your HAL is any different or not yet, but so far, so good! Thanks again!
Edit:
I've mirrored your files and intend for this to be the place I'll put my builds in the future. I'm fairly sure Google Drive doesn't have bandwidth limits, so anybody reading...have at it!
Sent from my Nexus 4 using Tapatalk 2

Make sure you have plenty of RAM in your VM. I'm building on a Mac Pro running Ubuntu (not in a VM) and it takes about 35 minutes to build.
Tried once in a VM running under Windows and killed it after about a day... but the VM only had 1GB of RAM allocated to it.

Thank you so much for the amplifier-build! Just installed it and my Q is better than before. For everybody who wants to re-use the Q as a music player, I can really recommend bubbleupnp. It directly accesses your Google Cloud Music and makes it available via DLNA to other devices
Just install it on the Q and on your tablet / or phone. On the device you want to use as a remote, you can select which media server (Nexus Q) and which media renderer to use (Nexus Q). And - bam - you have your Q back. Browse your media from the phone and play it directly from the Q. Bubbleupnp even has an option for autostart, so once everything is setup, you don't have to use keyboard / mouse / monitor.
The DLNA thingy also has another neat side-effect: The Q now is recognized in Windows 8 as a dlna-device and you can browse you entire Google Music Library with the Windows Explorer and play stuff to your Q...
Guess someone's happy his little gadget is back...
Again. THANK YOU for your awsome work on the Q.

New Life for the Q
[Solved]: was using an HDMI to digital converter cable. Hooked it up to my TV and everything worked great.
First, I would like to say.... this is great! I thought the Q was done.
I'm having some trouble with the install. I was able to push everything to the device, booted into recovery, followed your instructions in flashing CM10.1 and gapps.... and then all I got was the orb sitting there with its blue light and no video. I've messed up flashing roms on other android devices so I thought I would pop back into recovery and try another shot at flashing CM10.1 without gapps. I boot into recovery, the light on the Q keeps spinning (which is what I remember) but there is no video! I know I am in recovery because I can top the Q and it reboots (first option in recovery). What can I do?
thank you,
Tony

Awesome work, thank you !
This is exactly what I was looking for.
Thank you also for the idea of using bubbleupnp, it seems that the new functionality will be better than the original.
I can hardly wait to re-image my Q.

Thanks a million for sharing your work! Works like a charm for me with the SPDIF build.

Bullet91 said:
Thanks a million for sharing your work! Works like a charm for me with the SPDIF build.
Click to expand...
Click to collapse
Op we need ypour help if you would mind updating this to the newest nightly and giving a little support I will kick you some money I emailed you too since you are the only one who has gotten the amp to function.

Thanks for the work you have put in, but every time i try to download the TAS5713 version it is not the 148mb you post says and does not have a matching md5sum.
Can someone host their working TAS5713 build for me?

unknownkwita said:
Thanks for the work you have put in, but every time i try to download the TAS5713 version it is not the 148mb you post says and does not have a matching md5sum.
Can someone host their working TAS5713 build for me?
Click to expand...
Click to collapse
Yes the build I downloaded doesn't work either.

im hosting the rom Anthony uploaded in this g+ post. To the best of my knowledge it is the TAS5713 CM10.1 rom that was originally modified by hharte. Ill keep it up for the foreseeable future. I TAKE NO RESPONSIBILITY FOR ANYTHING.
https://docs.google.com/file/d/0B8a2mhiG243Ja1lqc0xVQzAwdjQ/edit?usp=sharing

ianandamy said:
Yes the build I downloaded doesn't work either.
Click to expand...
Click to collapse
Are you flashing the AMP build provided in this post? http://forum.xda-developers.com/showpost.php?p=42690346&postcount=9
For me it is the SPDIF build which is working, I did not test the AMP one.

Related

$20 webcam= Skype video+camera apps working NOW!

If you are running a teamdrh rom with JB, or ICS with the 2.6.39 kernel, you can use a webcam and this hack to make skype video calls or take pictures/ record video with the stock camera app. I have tested this and it works great, skype calls are getting video and audio but i have only done a couple of five minute calls so I do not know if you will have the same luck with the MIC that I have had. on the stock camera app, if you "switch" from front to back camera, it inverts the video image, but video recording works, however on the stock app the MIC will cut off at around 10 seconds, but videolooks good, and pictures work too. All other camera apps I downloaded have worked as well.
REquirements:
1) a UVC webcam, which means compatible with Video4linux, or Video4windows, really most webcams work. The easy way if you buy one is to find on the box anything that says "no drivers/cd required." But check here: http://www.ideasonboard.org/uvc/#devices
I bought a $17 gigaware at radioshack, the cheapest one in the store.
2) You need to download this file:
https://docs.google.com/file/d/0B4ltl2zYxU7yVTVnM1RzVlBNaUE/edit?pli=1
BUT EXTRACT AND ONLY COPY THE camera.tegra.so FILE INTO your tablet's /SYSTEM/LIB/HW folder, and reboot. If you copy the other stuff you might find that your device will NO LONGER BOOT!!!
3) Plug your webcam into the usb port and in terminal run these commands:
su
chown system.camera /dev/video0
chmod 660 /dev/video0
*If you download gscript you can enter these commands once, and then it is just a couple of clicks, WAY EASIER! they need to be entered everytime you plug the webcam in, and before you run a camera/skype app.
Enjoy, I am hoping some people will test this and confirm it works for them too, please!
Credit BELONGS to Borkata at "another site" for his excellent work on the ADAM
redeyedjedi said:
http://www.tabletroms.com/forums/adam-general-development/5019-ics-external-camera-support-test.html
found this and I am wondering if he is talking about an ICS function, or just an Adam function. Either way, i was thinking the Adam is very similar to ours anyway. Anyone have a usb webcam that wants to try this, or bash me if the idea is out of the question for Gtab?? either is fine, just thought this MIGHT be useful.
Click to expand...
Click to collapse
There is a possibility that this already works on TeamDRH's ICS rom. The support has been added in the kernel awhile back but never been tested.
Thanks and much credit to rajeevvp!!!! I have gotten a webcam to stream video onto my gtab with DRH 1.3.2
Its kind've choppy, and a little blurry but works in a stable manner.
I am beggining to learn programming for android and trying to figure out a way to have any apps divert to my working video source instead of looking at the factory camera for a source. It seems it should be possible but I am just still too newb to Know any better.
If you would like to test this, then refer to this post:
http://forum.xda-developers.com/showpost.php?p=29457353&postcount=11
I have had success with a uvc compatibe webcam so far.
If you might have an idea as to how to trick the rom into looking at the usb port for its default video source I would like to know. Or if you can conclusively tell me that this is not possible I would like to know that too. My understanding is that there are two ways to approach this. One is to have the rom divert any frame capture requests to the usb video source as opposed to the original location. The other way, and probably more likely way, is to take an app like skype and hack it to go to usb for video, as opposed to the "stock camera location." Any insights would be very helpful. At least then, we could video chat with a small webcam, as opposed to no camera at all.
If this works for you, hit the thanks button on RAJEEVVP's post.
bump
That binary source code may also work on other ROMs (Froyo-, GB-, or HC-based ones)--if the Android<->HW camera interface hasn't changed. (The binary, unfortunately, doesn't load on GB and HC.)
This is how it should've been done by nVidia in the first place. I had expected them or VS/Malata to write a kernel driver for their camera which implemented the standard V4L interface. Instead, they have a binary-only shared object which directly controls the camera HW in a completely opaque way. There's hardly any camera-support code in the official (2.6.32.x) kernels at all--I was very surprised when I looked into this some time back.
nVidia's HW is nice and all, but, from now on, I'm just not going to buy any more of their products if it relies on any proprietary blobs.
rajeevvp said:
That binary may also work on other ROMs (Froyo-, GB-, or HC-based ones)--if the Android<->HW camera interface hasn't changed.
This is how it should've been done by nVidia in the first place. I had expected them or VS/Malata to write a kernel driver for their camera which implemented the standard V4L interface. Instead, they have a binary-only shared object which directly controls the camera HW in a completely opaque way. There's hardly any camera-support code in the official (2.6.32.x) kernels at all--I was very surprised when I looked into this some time back.
nVidia's HW is nice and all, but, from now on, I'm just not going to buy any more of their products if it relies on any proprietary blobs.
Click to expand...
Click to collapse
If you're down to take a peek here is where we're at with the Gtab camera on .39...
https://github.com/TeamDRH/android-tegra-nv-2.6.39-rel-14r7/commits/camera
I may not have everything??
redeyedjedi said:
3) Plug your webcam into the usb port and in terminal run these commands:
su
chown system.camera /dev/video0
chmod 660 /dev/video0
*If you download gscript you can enter these commands once, and then it is just a couple of clicks, WAY EASIER! they need to be entered everytime you plug the webcam in, and before you run a camera/skype app.
Enjoy, I am hoping some people will test this and confirm it works for them too, please!
Credit BELONGS to Borkata at "another site" for his excellent work on the ADAM
Click to expand...
Click to collapse
I found out I didn't have a dev/video0 folder. I created one but the camera fcs. Is ther supposed to be files in the video0 folder? I noticed in the audio folder there were several files. I am running DRH ICS 1.3 It didn't have the camera app installed since it didn't work anyway.
Any help would be appreciated. I restored the camera app with Ti from an earlier backup.
Thanks
btw: Thanks to all who got this working. I've been looking for something just like this.
Um, /dev/video0 is only created after you plug in your camera. You do not create this yourself. If your camera is UVC compatible, then after it is plugged in you should have /dev/video0 on the stock rom with no modifications! Did you check the link to see if it is listed?
These terminal commands give the camera permission to use the camera apps, along with the camera.tegra.so file. But, a totally unmodded rom will give /dev/video0 if your camera is compatible, because TEAMDRH already included the needed drivers. download the app "usb host controller" and open it after you plug your camera in. under the USB tab, does it register or list your camera? If so, then google your webcam, not the brand name, but the brand that is listed under "usb host controller" to see if it is UVC. My camera is a Gigaware, but under usb host controller it is listed as an MSI Starcam.
This positively works for me, but I have been waiting for anyone else to tell me it worked for them too so I can confirm. I am happy to help, because I want this to work universally as it should so it is a viable option.
Thanks
redeyedjedi said:
Um, /dev/video0 is only created after you plug in your camera. You do not create this yourself. If your camera is UVC compatible, then after it is plugged in you should have /dev/video0 on the stock rom with no modifications! Did you check the link to see if it is listed?
.
Click to expand...
Click to collapse
Thanks. I'm at work and just pulled out a cheap camera from my drawer. Not even sure what model it is. I wasn't aware though that the camera would create the folder when it is plugged in. When I get home I know I have a camera that is compatible and I will try it again.
Thanks for your help. I will let you know how it goes.
Fnally...a camera again
redeyedjedi said:
This positively works for me, but I have been waiting for anyone else to tell me it worked for them too so I can confirm. I am happy to help, because I want this to work universally as it should so it is a viable option.
Click to expand...
Click to collapse
It works. I haven't actually taken a pic or video yet, but I got a picture. I'm using my Logitech 270 HD webcam and the picture looks great. This is what I've been waiting for. I downloaded the free version if Camera ICS off the Play store. May have to buy it. The older stck camera app still FCs but the ICS one fired right up. Now I'll have to make my script.
Thanks a great deal... :good::good:
On a fresh install of the JB alpha, if you swipe left on the lockscreen instead of right, the camera app pops up, if you do a factory reset, then it will be in your app drawer!
I am so glad to hear it works for someone else.
TO use video recording or skype video, any video, you have to swap from the front to back camera. It shows an inverted image, but when you play back a recorded video, it is proper, also skype might be inverted but it looks right on the other end. I do not know why this is, but it works!!
***To clear up any confusion, the terminal commands only need to be entered once, after the camera is plugged but before you try to use any camera apps. They do not need to be re-entered until the next time you plug your webcam in, or restart the tab. With the gscript, you can put a shortcut on your homescreen, and the process becomes: plug cam in, tap one button, then load camera app or skype,etc!!
I can confirm it works with ICS Beta 1.3.2 (using the Camera ICS app). Camera, and Skype work just fine!
At last, my gTab is complete again! (well... almost...).
fosser2 said:
If you're down to take a peek here is where we're at with the Gtab camera on .39...
https://github.com/TeamDRH/android-tegra-nv-2.6.39-rel-14r7/commits/camera
Click to expand...
Click to collapse
I'll have to pass: Not enough free time. Besides, it looks like someone's already working on it--I'll just be stepping on their toes.
Random newbish question
would this be able to work on other tablets as well? albeit slightly modified and what not... i've been thinking of integrating a dell streak 7 into my dash and an external web cam would be a neat back up cam
Im gonna guess no, but it is possible. YOu need a kernel with V4l2 support, and a file like this to direct the rom to communicate with it. I know nothing about dell streaks, but if you ask a developer of the rom you're using to look at Borkata's github source you might get a solution, but I really do not know.
redeyedjedi said:
Im gonna guess no, but it is possible. YOu need a kernel with V4l2 support, and a file like this to direct the rom to communicate with it. I know nothing about dell streaks, but if you ask a developer of the rom you're using to look at Borkata's github source you might get a solution, but I really do not know.
Click to expand...
Click to collapse
Thanks, I figured that because the dell streak is a tegra 2 board, it wouldnt be too difficult, but i am definatly not a dev of any sort
I've tried this with on a gTablet, testing both G-Harmony & SmoOther Beam 4.1.2, but I haven't been able to get it working.
I'm testing it with a Microsoft HD-6000 webcam. Any suggestions on where I might look to determine if the problem is related to the ROM/approach, or the hardware?
I've already checked the UVC compatibility page. Unfortunately it's a bit out-of-date, and the HD-6000 is not yet listed, yet the sister HD-3000 is listed as supported.
Thank you in advance for any ideas!
RKM
rkmFL said:
I'm testing it with a Microsoft HD-6000 webcam. Any suggestions on where I might look to determine if the problem is related to the ROM/approach, or the hardware?
Click to expand...
Click to collapse
First, see if this Webcam test app works.

[KERNEL][ICS][JB][v2.1] USB Ethernet, DVD, Voodoo, Kernel manager app!

2.2 released!
In the news!
Current features:
Based on Asus 9.2.1.27 WW kernelsources
Backported all Linux 3.2 USB LAN drivers (bandwidth up to 250 MBit/s! tested with a SMSC LAN7500)
ISO9660 (+Joilet), UDF, FAT12 and Apple HFS file system support (USB CD\DVD access! See notes)
Voodoo Sound support!
Turned a few unneeded kernel features off and compiled with Linaro GCC, it's smaller and boots quite a bit faster than other kernels!
Installable using your favorite recovery (tested on CWM v6.0.1.4 v2)
New versions of Tegra 2 codecs for ICS based ROMs (will be provided within a separate installable .zip)
Kernel manager application to manage loaded drivers and file system modules!
Supports almost all current ICS and JB ROMs
Compatible with:
[ICS] Asus official firmware (with root)
[ICS] Android Revolution HD
[ICS] Energy™
[ICS] Revolver
[JB] LiquidSmooth
[JB] RaymanFX's CM10
[JB] ParanoidAndroid:CM10 Hybrid
If you tested this with any other unlisted ROM, please drop some feedback!
Note 1: Some USB devices may need additional power, if so, get a Y cable from eBay so you can power a USB device using a external USB power source
Note 2: External optical drivers and floppy drives will not be mounted automatically, as Android doesn't officially support them
Note 3: CSS protected DVDs are not supported (e.g. Retail movies), due to Linux kernel limitations
Note 4: NTFS is not supported 'out of the box', please use Paragon driver from Google Play
Downloads:
https://www.dropbox.com/sh/gxi0gsl0tdfapgi/Ja19Exs4Sz
(PLEASE install Busybox 1.20.2 using one of the installer apps from Google Play, it is needed for the Kernelmanager application to function properly)
Source:
https://github.com/sander-ashwin/tf101-allinone-kernel
Please report if something does not work!!
Mounting optical drives:
1: First make sure your device is proper rooted (the "mount" command we'll use needs root)
2: Install Android Terminal Emulator from Google Play and open it
3: Type "su" and press enter, you should be asked if you would like to give root access, say Yes
4: Make a mountpoint directory, e.g. "mkdir /Removable/opticaldrive"
5: Mount your optical drive (make sure it gets enough power and something is inserted in the drive) using this command: "busybox mount /dev/block/sr0 /Removable/opticaldrive"
6: You're done! If you inserted a DVD movie, you might want to install Wondershare player or some other player that is capable of playing DVDs with menus
7: If you encounter any difficulties, please reply on this thread or send me a message
Connecting your TF101 to wired ethernet:
1: Buy a TF101 USB Host connector if you don't already have one (they are very cheap online, around 12-15 dollars)
2: Connect the adapter to your TF101, plug in your USB ethernet adapter
3: Android will display a message in the lower right corner of the screen that an ethernet adapter has been connected
4: Connect the LAN cable
5: Android will display a message that your device is connected using DHCP, you can now use internet using LAN
6: If you require manual IP settings, please go to Android's settings, there you can set manual IP or DHCP (OPTIONAL STEP)
Thanks to:
RaymanFX - for inspiring me with his own kernel, and for porting CM10
Asus - for making a pretty good device
prendomiao - for beta testing
Changelog
v1.0:
First release!
v1.1:
Removed some more junk from kernel
Now actually added new filesystem drivers!
v1.2:
Backport of Linux 3.6 I2C core
A little more cleanup of unneeded features
v1.3:
Backported all Linux 3.2 USB LAN drivers
Kernel now includes support for Voodoo Sound!
v1.4:
I2C fixes + Tegra I2C driver ported from kernel 3.6
Tweaked I2C timeout, hopefully our touchscreen won't lag anymore
(this may fix the problem that the touchscreen sometimes doesn't respond for a second, because of an I2C timeout)
v2.0:
Fixed sound
Now compiled using latest Linaro GCC 4.7.2 compiler
New kernel manager application to manage loaded drivers! You're in control, so the kernel doesn't load unneeded modules anymore!
Reverted I2C changes, as they didn't really help
v2.1:
Now compatible with ROMs based on RaymanFX's CM10
Updated BCMDHD WLAN driver for CM10 kernel
A little cleanup to synchronise both ICS and CM10 versions
Updated Linaro compiler to 2012.10
v2.2:
Added some new releases for more compatibility
i tried it. there is a little change, it is a bit speedly... i don't tried videos... but it is good good work
Thank you! Hope videos will play better as Tegra 2 is really picky with HD videos.
I'm now writing a tutorial for mounting optical discs, fortunately it's not really difficult.
but drivers must support them
Well, I included them already They are in your device if you still have my kernel installed.
But Android doesn't support automounting optical drives, so we have to mount the optical disc ourselves, until someone writes an app to do it (automatically).
EDIT: please install v1.1 if you would like to use your optical drive, as I forgot to include the drivers while compiling v1.0
Outstanding kernel. The first one I've run without SoD so far. I don't need OC, so the extra freq.'s are not important. Super quick, reliable so far for a few hours. I'll continue to report back, especially if I get SoD's. They are the bane of my existence. Keep up the good work.
Sent from my Transformer TF101 using xda premium.
Thanks! Hope you can enjoy your device again
I would like to implement overclocking though, but only if the kernel is still 100% stable for everyone.
Stil need to find out how, as I'm still learning C and kernel hacking.
The main problem at the moment is that all different hardware revisions have different issues.
Mine has touchscreen issues with a lot of kernels for example, your device may freeze when sleeping, but with a lot of testing and debugging we might be able to create a kernel that works for everyone.
When having any problems, please keep reporting!
poppajules said:
Outstanding kernel. The first one I've run without SoD so far. I don't need OC, so the extra freq.'s are not important. Super quick, reliable so far for a few hours. I'll continue to report back, especially if I get SoD's. They are the bane of my existence. Keep up the good work.
Sent from my Transformer TF101 using xda premium.
Click to expand...
Click to collapse
sainthout said:
Thanks! Hope you can enjoy your device again
I would like to implement overclocking though, but only if the kernel is still 100% stable for everyone.
Stil need to find out how, as I'm still learning C and kernel hacking.
The main problem at the moment is that all different hardware revisions have different issues.
Mine has touchscreen issues with a lot of kernels for example, your device may freeze when sleeping, but with a lot of testing and debugging we might be able to create a kernel that works for everyone.
When having any problems, please keep reporting!
Click to expand...
Click to collapse
To avoid SoDs, you need to set the lower voltage higher.
The standard voltages I'm using should be ok, but mine still SoD's sometimes.
With stock kernel as well as with other kernels, as well as with my own kernel..
Unfortunately it always happens when I'm not at home, so I can't directly debug using ADB (if possible at all).
So I can't easily find out wether it's a hardware issue, kernel issue or software issue.
If anyone has a clue about this, please reply!!
K900 said:
To avoid SoDs, you need to set the lower voltage higher.
Click to expand...
Click to collapse
sainthout said:
The standard voltages I'm using should be ok, but mine still SoD's sometimes.
With stock kernel as well as with other kernels, as well as with my own kernel..
Unfortunately it always happens when I'm not at home, so I can't directly debug using ADB (if possible at all).
So I can't easily find out wether it's a hardware issue, kernel issue or software issue.
If anyone has a clue about this, please reply!!
Click to expand...
Click to collapse
Is it SoD with dock connected or tablet alone? I'm sure you're familiar with the SD card removal thing from the dock to prevent SoD with guevors kernel? That wasn't my issue anyway, but it's just one I've heard of...
edit: you know, I didn't even think about the voltages being the issue with the other kernels... Is there an automated program to adjust voltages? I used QuickClock Overclock for my Droid X, but I'm not familiar with changing voltages on any other devices...
---------- Post added at 11:42 AM ---------- Previous post was at 11:33 AM ----------
I wouldn't MIND having OC, but I hardly use it. I got out of the OC game after watching it kill batteries on multiple phones and devices..
No one really NEEDS to OC, but for some reason people feel the need for it. The only phone I really NEEDED OC was my Droid Eris to play Angry Birds when that first came to Android... anyways, off topic...
I messed with the tablet last night, and still had no SoD.. I'll report back again tonight when I get home from work.
do you make it for jb please ?? we need it
Good to hear that the kernel works so far, hope it won't SoD.
I don't have the dock, the SoD's are just random it seems.
I'm also not working on overclocking anymore, too much files are involved which make it difficult to understand and fix.
It's also a pretty big risk, you could burn your CPU or GPU if using wrong values or something like that.
I'll leave the stock voltages and stock frequencies.
I'm now trying to fix the touchscreen issue that happens after some time. Not many people have the problem, so this won't do anything to other people.
Just updating the Linux I2C core to new 3.6 and backporting some newer touchscreen drivers.
Maybe I can also include some newer USB Ethernet drivers and backport other things.
When I implemented something that's worth trying out, I will put a new kernel version online
poppajules said:
Is it SoD with dock connected or tablet alone? I'm sure you're familiar with the SD card removal thing from the dock to prevent SoD with guevors kernel? That wasn't my issue anyway, but it's just one I've heard of...
edit: you know, I didn't even think about the voltages being the issue with the other kernels... Is there an automated program to adjust voltages? I used QuickClock Overclock for my Droid X, but I'm not familiar with changing voltages on any other devices...
---------- Post added at 11:42 AM ---------- Previous post was at 11:33 AM ----------
I wouldn't MIND having OC, but I hardly use it. I got out of the OC game after watching it kill batteries on multiple phones and devices..
No one really NEEDS to OC, but for some reason people feel the need for it. The only phone I really NEEDED OC was my Droid Eris to play Angry Birds when that first came to Android... anyways, off topic...
I messed with the tablet last night, and still had no SoD.. I'll report back again tonight when I get home from work.
Click to expand...
Click to collapse
Different JB ROMs may require different ramdisks, so it will take a little time to get it done properly and stable.
For which JB ROM would you like to use it? I might be able to take a copy of the ROM's kernel's own ramdisk and combine it with my kernel
I'm also thinking into making one for RaymanFX's new LiquidSmooth ROM, anyone interested?
prendomiao said:
do you make it for jb please ?? we need it
Click to expand...
Click to collapse
I am sorry if i sound stupid, but where do i extract files to? I have a flashing red light on my USB ethernet but no connection
Hi, does Android display a notification that you connected an USB Ethernet device?
And for which ROM are you trying?
mazimo said:
I am sorry if i sound stupid, but where do i extract files to? I have a flashing red light on my USB ethernet but no connection
Click to expand...
Click to collapse
USB Ethernet works on Android 2.3 with icon...
Ethernet doesn't have anything to do with Android at all.
The Linux kernel provides drivers which will provide Android a universal interface to control Ethernet devices.
When you plug in your USB ethernet device, the kernel will create an eth0 interface (first ethernet device interface).
Android sees that immediately and will show a little message that an ethernet device is detected.
With very old Android versions, Android doesn't really support ethernet, but some kernels do.. in that case ethernet support will be provided automatically without any notifications.
So for example, if Samsung want to support every USB ethernet device, they can, by building support into the Linux kernel.
If Asus doesn't, they don't build any support in the kernel, so the devices won't be recognised and so they will not work.
Except 1 or maybe 2 devices, the original Asus kernel doesn't support ANY Ethernet device, but my kernel supports them all
prendomiao said:
USB Ethernet works on Android 2.3 with icon...
Click to expand...
Click to collapse
new release
Everyone on older versions, please upgrade to v2.0 and try my new kernel manager application!
(Which is also my very first Android application)
Enjoy and please post feedback
If anyone would like to tryout a JB version of my kernel, please pm me!
I ran your 1.0 version, and it's great. I have MASSIVE battery life compared to before. The only issue I have noticed is with wifi reconnecting after deep sleep. It disconnects when screen is off (i verified the settings), but it has a difficult time reconnecting. I usually cycle the wifi toggle and it connects, or I click on my wifi and it connects. It's clearly not a major issue, just a little extra thought when I wake it up.
I read through and no one reported anything like this, so I figured it might be something to keep your eye out for in your later builds. I will install the 2.0 today and give feedback later. Thanks for your hard work!

SgS2 GT i9100 RRemix and Android roms

Answer to a XDA question in Resurrection Remix 407 forum.
Quote: Originally Posted by dharmil007
Hey is there any way i can get a Call Recorder to work on this ROM ?
I tried various vall-recorders from Play Store but none of them worked properly
My answer is to use app called RecForge 11.
Success in call recording using Rremix 407 rom with Dorimanx kernel ver 8.43
My Signature. Extreme respect to Westcrip for his work/roms
Spare Test SgS2 Modem XXLS9 RRv407=422JB with Dori8.43 Kernel to DualBoot MiuiJB412
CWMv6.0.1.2 recovery
Main SgS2 i9100 Modem XXLS9 in AU
1st ROM JB422 RRemix407 Dori8.43 Dualboots
2nd ROM MiuiJB412 JZ054K
Also use DriveDroid from Play store
to Usb Boot Hirenbootcd 15.2 from Sgs2 int/ext memory.
Use VirtualBox & android-x86.org
Spirit FM xda post 2
Hi all. just thought I would share. Feel welcome to add to to the list.
SpiritFM free is a FM radio Apk/App specially for custom Android roms.
Tested OK On RRemix 407 with Dorimanx v8.39 Really enjoy having FM radio again.
Available on Play Store the Paid version has much more functions and very smooth to use.
http://forum.xda-developers.com/showthread.php?t=1059296
Thank you and credits to the Developer that gave a nice thing back to all of us.
About mikereidis
Service provider
Canada - PC Mobile
City
National Capital Region
Home country
Canada
Biography
Embedded Linux/Android Developer
Occupation
Embedded Linux/Android Developer
Signature
__________________________________________________
Spirit FM: Digital Audio, RDS, Media Controls+Much More
http://forum.xda-developers.com/showthread.php?p=13379669
(Q+A, Compat list, FAQ, many info links...)
I'm starting a "lower maintenance period" for Spirit where I can't undertake investigations or much in the way of updates: http://forum.xda-developers.com/show...postcount=6761
blumsen said:
No you can't.
Click to expand...
Click to collapse
Some favourite apps XDA post 3
Other Apps/apk that i have tested well and like.
Just thought this may interest you with file transfers&more between your phone & PC.
Connections via wireless & internet.
Apk called Airdroid in Google play & her
airdroid.com
play.google.com/store/apps/details?id=com.sand.airdroid&feature=search_result
Works well with right version of Firefox & other browsers.
Try Android Manager v 1.4.0 by Starnode from Google playstore is tricky to find. Go to settings ( spanner/hammer ) & you will see OK. Auto switch of data when screen off etc.
Free or Paid version up to you.
So give you direct link here.play.google.com/store/apps/details?id=net.starnode.sysutils.BatteryInformer&hl=en
Android app i use for large file downloads.
aDownloader = torrent/http download resumer.
play.google.com/store/apps/details?id=com.DroiDownloader&hl=en
For windows Pc not sure about Macs. I use this one.
freedownloadmanager.org/download
Try this ( GPS Test ). Very small download size 266kb. Excellent GUI and interface/settings/functions. Tests well with ICS 403 rom & later.
play.google.com/store/apps/details?id=com.chartcross.gpstest&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5jaGFydGNyb3NzLmdwc3Rlc3QiXQ
Only tested ( ICS 403 ). This ( GPS Control ) really impressed/improved my GPS lockon/speed and reception signal specially inside my house/building.
Used GPS Test to verify this.
WARNING: Did freeze SgS2 after trying to rerun Apk after enabled setting. Seemed to work fine after fix permissions via Extweaks.
Valid point about GPS being De-tuned? by default?
play.google.com/store/apps/details?id=com.fatdroid.android.gpscontrols2ad
DriveDroid in Google play is a Android/Windows program that allows you to boot LiveCd/Operating systems.
Link to DriveDroid homepage softwarebakery.com
play.google.com/store/apps/details?id=com.softwarebakery.drivedroid&hl=en&referrer=utm_source%3Dgoogle%26utm_medium%3Dorganic%26utm_term%3Ddrivedroid
From your Android device internal/external memory storage.
This allows you to boot/start PC & Laptops from your phone/device.
Excellent for data recovery & more.
Also can be used to prepare USB sticks & external hard drives.
Have been testing/using & as yet cannot fault.
A quoted email from Dev @FrozenCow.
Yes, that's good to hear. Most phones do not have a cdrom option, this is a kernel feature I (among others) have added to some of the CyanogenMod kernels, including the one of the Galaxy S2. I guess it's in the stable versions now too!
The None entry should be gone in DriveDroid 0.8.5, but it was to set the 'hosted image' to none, so you can make sure none of the images are being accessable from the PC. In DriveDroid 0.8.x it isn't a explicit option, but it will 'unhost' an image when clicking the notification of DriveDroid: it'll set the hosted image to none.
"Also noticed with my SgS2 latest configuration DriveDroid Hbcd.iso entry to S3C1 CD icon setting. Has to be reset every time DriveDroid is used ie not persistent?"
I'm not sure exactly what you mean. You select *how* you want to host the file each time you select an image. Storing this mode for each image is something I am considering, but for the moment you'll have to do it each time.
I have noticed Dorimanx kernels has the mount as cdrom built in for SgS2 GT i9100.
Hdmi output XDA post 4
Eliassen&Shollen9, I owe u both a apology as I went back & tested hdmi out with RR312 problematic but works! Credit to Westcrip.
Worked with Teac LCDV2255HD tv using the diagnostic usb port as power supply.
Used a new idea Hdmi +usb cable built in 2 meter bought from ebay approx $8.47 au delivered.
This cable seemed to work better than previous Hdmi adapter that had/needed extra usb/power plugged into side of adapter.
Hope this info helps,sorry no ebay link to working hdmi adapter but clue is bright red 2meter cables.
chrs bmad. Found link for Hdmi cable ebay.com.au/itm/110955051098?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
APN settings XDA post 5
Hi all, just having a complete stab in the dark about above Wrong pin problem.
Try putting a * in User/Password/Server setting in APN settings.
See here resurrectionremix.com/index.php?topic=850.msg4467#msg4467
I am in Top end of Australia with Virgin/Optus network. Never was asked for a pin using possibly 15-20 different Android roms.
In varied dualboot scenario's.
So is the problem from Network provider?
Also can you Please fill out your Forum signatures ie: phone/rom/kernel/dualboot specs/versions. XDA/OP/DEVELOPERS&MODDERS all do this for a good reason = a little info says a lot. This really helps us/forum to be able answer you questions.
Copy pasted from RRSite Rules.
Thanks and good luck with fix. chrs bmad.
PhilZ unique CWM recovery XDA post 6
PhilZ has been releasing some clever reworks of CWM6+ Recovery.
Also uses Aroma file explorer/manager ( in temporary use mode ) & mount via usb in/external memory to copy/connect to Pc while in recovery mode.
Note: VERY easy way to flash custom kernel/root to stock phone via stock/factory recovery mode!
Also recover from no boot/bad flash problems.
See below zip&notes ( not avail at moment ) or direct link. Very handy/useful concept.
Full&grateful credits to ALL Developer's involved in this excellent concept.
forum.xda-developers.com/showthread.php?t=1877270
Tested OK & Aroma.zip file explorer works well via Siyah dual boot custom CWM6+ Recovery.
Note: Stock&rooted kernel included my zip is for Android 404 ICS XWLPW firmware. Make sure you read instructions and use correct/close kernel for your Android OS/firmware.
Forum Signatures XDA post 7
Hi, just a friendly request/suggestion.
Please fill out your Forum signatures ie: phone/rom/kernel/dualboot specs/versions. XDA/OP/DEVELOPERS&MODDERS all do this for a good reason = a little info says a lot. This really helps us/forum to be able answer you questions.
Some off the reasons why.
1: Some kernels don't play very well with dualbooting/Rom combinations etc.
2: Just a little bit more info in Posts/questions does really help to get a good answer.
3: This Forum does like to help,so help us also&make time to fill out a Signature.Have fun.
4: Android & kernels are changing so fast, these finer details can save a lot of mistakes/frustration.
Chrs bmad.
ps Admit I over do my Signature but sometimes it reminds me. Where I'm at. haha.
Hi Barry Mad,
Please check your Private Messages to see why this thread was closed.
Thanks!

[APP][AOSP Root 4.4] AudioTricks / VolumeTricks

Thread is under construction.
WARNING: There have been 3 reports so far of failure to boot after installing the Shim HAL. This sort of problem should be assumed possible at this early "Alpha level research project" phase.
Please don't install if you have stock recovery or don't know what recovery is.
Please don't install if you are nervous. Wait a while for the bugs to get worked out and info compiled.
Don't install if not confident in your technical skills.
Don't install if you might freak out if your phone gets disabled for a little while.
For bootloops or to fix or remove: http://forum.xda-developers.com/showpost.php?p=52931431&postcount=67
Post #2 has download links and instructions: http://forum.xda-developers.com/showpost.php?p=52765309&postcount=2
Since interest has ramped up quickly, I've published a 99 cent "donate" version on Play: https://play.google.com/store/apps/details?id=fm.a2d.av (Wait until the $200 placeholder price disappears, LOL.)
I'm not sure "donate" is the right word, but it's the exact same app I'm distributing and will continue to distribute for free (for at least X months to a year ??), so nobody is under any obligation to buy to get the app. Updates will be automatic via Play though.
============================================================
AudioTricks / VolumeTricks is a new kind of "audio mod" that is HAL Shim based.
At present, it can raise or lower output volume and microphone input gains digitally.
Only works on ICS Android 4.0.3 and later. AOSP ROMs such as CM11 or other KitKat very much preferred. Many stock ROMs 4.1-4.3, won't work, especially HTC.
Post 2 has download link and instructions.
Disclaimer: Please understand that this is the first public release of this app. Although I endeavour to make my apps as safe as possible, one never knows whether or not some silly bug or unusual interaction might pop a speaker, headset or whatever. I have over 20 devices that I use for testing my apps and I try to "torture test" as much as possible. So if something goes pop, I'll be very sorry and do everything I can to analyze and fix any problems. If you're "not sure", just wait and more adventurous people will do the early testing needed to help ensure nothing breaks.
By it's very nature, any app that can boost volume creates risk for audio output devices as well as your ears.
For those who know my Spirit FM apps, this is a bit of a move for me. Spirit1 and Spirit2 both are alive and well, but the future of FM radio on Android seems to be dimming the last few years. I'll be splitting my time between apps based on the support I get.
Making this HAL Shim based provides some advantages and disadvantages over other methods of changing volume or gain.
Advantages include:
- Audio modification even for apps, games, etc. that use the low level Android NDK OpenSL ES API.
Disadvantages:
- Analog controls, if available, may be better.
AudioTricks is intended to be my name for a group of small apps, and/or a "master app" that includes the features of them all.
VolumeTricks is the first such small app to be released, and is focused on output volumes and input gains.
VolumeTricks may not be limited to the "HAL Shim" approach to audio mods. It may also include ALSA, ALSA UCM, and other methods to manipulate audio.
At this time, the app is free, but Copyright Me. I'll likely maintain a free version for some time, but I gotta eat too so there will be a paid version on Play when it seems ready.
At this time, this app has been tested mostly on CM11 and a few other AOSP ROMs. Many stock ROMs won't work, especially HTC.
The app is currently set to only work on Android KitKat 4.03+.
I haven't tested ART much yet, mostly Dalvik, but it's working OK on my One M7 w/ ART. Shouldn't be too hard to fix any ART issues.
So what the heck is a "HAL Shim" ??
Android uses HALs (Hardware Adaptation Libraries) as an API between Google's Android code and the phone OEMs hardware specific code. Android Audio has at least 2 HALs, one for "Policy" (selects outputs, inputs and some other stuff) and one for the audio transfers. The HAL Shim in this app works with the latter "Primary" HAL for audio transfers.
A SHIM is a component that sits between 2 other components and pretends to be the higher component as well as the lower component. Hierarchy:
Android AudioFlinger
------------------------
HAL Shim
------------------------
Primary Audio HAL
So, the HAL shim pretends to be an audio HAL to Android's AudioFlinger. AND it pretends to be Android AudioFlinger to the Primary Audio HAL.
The HAL shim acts as an intermediary. It can pass everything back and forth unmodified which makes it invisible. Or it can modify anything passing between, including the audio data.
Isn't there a better way to do this ? No, I don't think so. I don't want to be modifying a bunch of HALs on thousands of ROMs. I also don't want to be modifying AudioFlinger on those same hordes of ROMs.
What else can be done with the HAL Shim concept, besides "Volume Tricks".
I think some of these may be feasible:
- Recording all inputs and/or outputs. Maybe even both sides of phone calls.
- Analyze, Visualize, Equalize, Effects-ize all or many inputs and outputs.
- Bypass DRM.
- Maybe a method to modify (eg. encrypt / decrypt) phone call audio, inbound and outbound; possibly via pretending to be a BT headset....
Note that, at present, the HAL shim only works with the "Primary Audio Interface". Small-ish mods could do the same for HDMI, A2DP / BT, USB Audio, "Remote Submix" and whatever new audio devices Google defines.
Post 2 download link and instructions.
If a boot loop would ruin your day, please see warnings at top of post #1 and don't install this app until more mature.
Disclaimer: Please understand that this is the first public release of this app. Although I endeavour to make my apps as safe as possible, one never knows whether or not some silly bug or unusual interaction might pop a speaker, headset or whatever. I have over 20 devices that I use for testing my apps and I try to "torture test" as much as possible. So if something goes pop, I'll be very sorry and do everything I can to analyze and fix any problems. If you're "not sure", just wait and more adventurous people will do the early testing needed to help ensure nothing breaks.
By it's very nature, any app that can boost volume creates risk for audio output devices as well as your ears.
Android seems to have a ridiculously / hilariously complex audio system... LOL.
v140530: http://d-h.st/2lc#.U4hLA3KBugY
Fixes a LOT of issues, especially SU / mount issues with stock restrictive SELinux like Samsung stock 4.2+.
As always, Press Update/OK to update Shim HAL each new release.
- SU / root fixes, especially for SELinux Samsung 4.2+.
- Fine control removed.
- Coarse control range changed from -60 to +60 db ; now 0 to +36 db. Maybe I'm the only one w/ a need for gain reduction below 1.0 or 0 dB.
- Many other fixes.
Version av-140526:
- Fix the /system/addon.d/ ROM update backup/restore script used during ROM updates.
Version av-140525:
- Automatic gain reduction is now sticky, so reduces distortion when maxed. Touch sliders to reset.
- Numbers for VU.
- After amplification VU display.
- Sliders caiibrated in dB.
May not work on stock ROMs, especially older Android versions and HTC stock ROMs.
Starting this app for the first time should request root and prompt to install the HAL Shim and an addon.d backup/restore script to allow it to survive ROM updates.
After the Shim is installed, the "system_server" is killed in order to activate the Shim. Sometimes it may be better to completely reboot the phone, especially with effects, visualizers and player apps running at install time.
Once the app and Shim are installed, the app shows a "Remove" button that removes the Shim, should it be causing you problems or you just don't want/need it. The button will change to "Update" with newer versions of the app/Shim.
Sometimes, like on ROMs with old Legacy HALs, state detection won't work and the button will only offer to Install with no way to remove. As of v1.0.3 go to the 2nd tab (swipe from right to left) and there is a permanent Remove button.
If you remove the app without removing the Shim, the shim will remain, but should be mostly dormant. The easiest way to remove the Shim would be to reinstall the app and select the Remove button.
To manually remove the Shim and addon.d script, something like this should work from a connected PC with adb shell:
Code:
adb shell
su
mount -o remount,rw /system
ll /system/lib/hw/audio.primary.*.so
# !!!! Note the name of the HAL, like audio.primary.msm8960.so and use this name in next line. (If only audio.primary.default.so exists, use that.)
mv /system/lib/hw/audio.primary.orig.so /system/lib/hw/audio.primary.msm8960.so
rm /system/addon.d/99-audiotricks.sh
mount -o remount,ro /system
reboot
Using the app:
See post #3 for usage instructions.
Usage:
If a boot loop would ruin your day, please see warnings at top of post #1 and don't install this app until more mature.
Disclaimer: Please understand that this is the first public release of this app. Although I endeavour to make my apps as safe as possible, one never knows whether or not some silly bug or unusual interaction might pop a speaker, headset or whatever. I have over 20 devices that I use for testing my apps and I try to "torture test" as much as possible. So if something goes pop, I'll be very sorry and do everything I can to analyze and fix any problems. If you're "not sure", just wait and more adventurous people will do the early testing needed to help ensure nothing breaks.
By it's very nature, any app that can boost volume creates risk for audio output devices as well as your ears.
To select output volume or input gain, swipe left or right or use the tabs. The primary/left screen is for output volume.
Set the enable switch to ON to enable volume/gain adjustments.
The Left and Right indicators are logarithmic/DB audio level indicators, updated every 0.1 seconds with the peak audio level. These show the signal level before amplification. If they are VERY near the full width of the screen, there is little amplification that can be reasonably done. (But 80-90% leaves some room, given the exponential nature.)
For no boost, IE an amplification factor of 1.0, the Coarse and Fine controls should both be set to 0 at centre.
Setting Fine all the way right to +6 dB doubles audio power, setting to -6 dB halves audio power.
Setting Coarse to +30 dB creates an amp factor of 32, assuming Fine is set to 0. Setting -30 dB is about 0.03.
Note that an amp factor of 32 is very high, unless you are dealing with very low input signals.
The Shim detects when the signal will overload, and reduces the amp factor as needed to prevent overload/distortion. To raise it again, use the UI to reset.
There are some "streams" for which amplification will not work. I will support as many stream flags (such as Fast) as I can; remains to be seen; this is still kind of a "research project" at this stage.
At present, all streams are amplified the same amount. Per stream or stream type amp factors will be supported.
Just go to post #11 on next page.
Nothing to see here, move along.
Technical info to fill in later.
Pay no attention...
... to the man behind the curtain...
8 is lucky 7 + 1; even better.
Trouble-shooting info.
#10 is always "Future".
Comments and questions start here.
Volume control?
Hi Mike,
You are making me curious about this new project of you.
I bought a long time ago this app for level control. It is doing his job, but has lack of storing the settings and sometimes still adjust (unwanted) the volume.
Count me in for testing :fingers-crossed:
Edit: get an error parsing the apk :crying:
Rinoceros said:
Hi Mike,
You are making me curious about this new project of you.
I bought a long time ago this app for level control. It is doing his job, but has lack of storing the settings and sometimes still adjust (unwanted) the volume.
Count me in for testing :fingers-crossed:
Edit: get an error parsing the apk :crying:
Click to expand...
Click to collapse
Welcome to my new thread and app.
AFAICT, that app mostly just manipulates standard Android volume levels, which is fine, but not much different than the standard volume control.
I just downloaded my new app linked http://d-h.st/plb myself (7 downloads in first 2 hours now), and it installs fine on my One M7, and matches bit for bit the 1.0 version installed on my test phones.
So you're on stock based InsertCoin ROM ?
As long as it's Android 4.4 KitKat (API Level: 19), it SHOULD parse and install OK.
The binaries are for ARM devices only (ie 99+% of Android devices). Intel x86 or MIPs can't work (at present.)
I can't think of any other reason it won't parse, unless your copy is corrupted. This is the MD5 I get:
Code:
md5sum ~/Downloads/av-release.apk
2c8328e8cbe1f585f3b1634e36200c8f /home/mike/Downloads/av-release.apk
I'm happy to hear anyone else's stories of success or failure, but I'll need a good 7 hours of sleep first.
------------
Happy Victoria Day to all fellow Canadians & CommonWealther's, and Good Long Weekend to all those with a day off of work this Monday. Finally nice weather here lately...
mikereidis said:
I just downloaded my new app linked http://d-h.st/plb myself (7 downloads in first 2 hours now), and it installs fine on my One M7, and matches bit for bit the 1.0 version installed on my test phones.
So you're on stock based InsertCoin ROM ?
As long as it's Android 4.4 KitKat (API Level: 19), it SHOULD parse and install OK.
Click to expand...
Click to collapse
Aha, here might be my problem. My InsertCoin is still the good old JellyBean 4.3 (I am happy with this version and had nearly no problems and all the stuff is working on this one. So if it ain't broke; don't fix it )
The binaries are for ARM devices only (ie 99+% of Android devices). Intel x86 or MIPs can't work (at present.)
I can't think of any other reason it won't parse, unless your copy is corrupted. This is the MD5 I get:
Code:
md5sum ~/Downloads/av-release.apk
2c8328e8cbe1f585f3b1634e36200c8f /home/mike/Downloads/av-release.apk
I'm happy to hear anyone else's stories of success or failure, but I'll need a good 7 hours of sleep first.
Click to expand...
Click to collapse
Got the same MD5: 2C8328E8CBE1F585F3B1634E36200C8F
I am confused or it doesn't work on 4.3
Sleep well!
4.4
Does it work on Android below 4.4?
Can't wait to try it. Your work with Spirit was amazing, so I am sure this is too.
Thanks for the effort, but it ain't working on i9100, cm 11/kk 4.4.2. Tried to increase volume a little (level was about 3, but as you know, first written value is 5), there was a very strange noise as I tried to.increase volume via volume buttons while listening music via headphones. It was a crackling noise, looked to me like the phone is going to get damaged, so I removed HAL and uninstalled your app.
Rinoceros said:
Aha, here might be my problem. My InsertCoin is still the good old JellyBean 4.3 (I am happy with this version and had nearly no problems and all the stuff is working on this one. So if it ain't broke; don't fix it )
Got the same MD5: 2C8328E8CBE1F585F3B1634E36200C8F
I am confused or it doesn't work on 4.3
Sleep well!
Click to expand...
Click to collapse
Here's a v1.0.2 test release that will install on Android 2.2+: http://d-h.st/QfV
Draw Em! said:
Does it work on Android below 4.4?
Click to expand...
Click to collapse
It may. Here's a 2.2+ test release: http://d-h.st/QfV
Chances are lower the lower the Android version. I'd recommend 4.1+, but it may work on some Android 4.0 as well. Android 2.3 GB and older used a "legacy HAL API" which won't work.
At this time it's a "bleading edge" release, and most people comfortable with that have been running 4.4 the last 6 months, I'd think.
pilgrim011 said:
Thanks for the effort, but it ain't working on i9100, cm 11/kk 4.4.2. Tried to increase volume a little (level was about 3, but as you know, first written value is 5), there was a very strange noise as I tried to.increase volume via volume buttons while listening music via headphones. It was a crackling noise, looked to me like the phone is going to get damaged, so I removed HAL and uninstalled your app.
Click to expand...
Click to collapse
It sounds like it was working then, as it does for me on my 9100 with CM11.
In many circumstances audio amplitude will already be maxed out, and trying to increase volume will only result in the automatic gain control kicking in with a different value many times per second, thus leading to distortion and other audio "artifacts".
This solution is more helpful when, for some reason, the audio source material doesn't use the full 16 bits of amplitude. If the VU indicators in the app are showing peaks around 80-90% of the screen width, when the normal volume control is maxed, then amplitude is probably above 16,000 and could be near the absolute peak around 32,000.
For example, some audio may have been recorded that only peaks around 4,000 - 8,000, and for this, and amp factor of 4 may be useful. Another possible solution for this scenario is to enable Compression in DSP Manager or whatever. As with everything, this has pros and cons.
In many circumstances, when possible, it's better to raise analog gain, like Voodoo sound does on the Galaxy S GT-I9000. I'm going to look into this, but this sort of solution is very audio chip dependent.

[BUILD][03-Sep-2016][SP2] Android-x86 / Remix OS

Hi Devs!
I'm wondering why not more people here working to get android lollipop working on our beloved tablets
I started to read a little bit into the topic and found quick easy solutions on the web to get ordenary android-x86 images boot very well.
Draco wrote an How-To that is easy and works also perfect with the Surface-Pro
https://groups.google.com/forum/#!topic/android-x86/D85Jq02cLrE
I modified the UEFI files to work better with a out of the box intallation of the Surface and put it together with Android 5.0.2 test builds.
Collect everything I've uploaded in a Folder:
https://drive.google.com/folderview...V3VU0wYV9MY2VVVkY2eGJPT0EyTkQ4WnM&usp=sharing
working
multitouch screen
sound
internal Wifi from SP2 (88W8797)
Bluetooth
Type Cover 2 (on installation also)
Touch Cover 2 (on installation also)
Inclinometer (= rotation sensor)
Ambient light sensor
Front Cam (tested with open Camera)
Rear Cam (tested with open Camera)
OpenGL (tested with Antutu)
Issues so far
Accelerometer [HID-SENSOR-200073.0]
Gyroscope [HID-SENSOR-200076.0]
Magnetometer [HID-SENSOR-200076.0]
MS Pen not working
YouTube Videos not working (only low resolutions, working over chromecast)
...
Are there more people interrested in getting latest Android working better on our Surface Pro?
I can support and provide with modified files and my modified How-To if someone like to join.
Remix OS link:
Remix OS with working WiFi
Bliss-x86 link:
https://forum.xda-developers.com/android/software/x86-bliss-x86-pc-s-t3534657
regards
Sandman01
bootmanager, gapp[EXT4], WIFI [firmwar+module], Type/Touch Cover 2
How-To
Here to download a Testbuild for Android 5.0.2 from Google Groups from rgb
https://groups.google.com/forum/#!topic/android-x86/3xClAbl5D_w
Info:
If an microSD card is inserted the boot process will fail, because the microSD replaces the SSD to be the hd0 device.
Solution: change the grub.cfg entry from hd0 to hd1 and also do the mod in the loopback cfg
[EDIT]: sinc latest UEFI Firmware update, booting from microSD isn't working anymore
gapps can be used from any place, just copy the contens of the .zip file to there correct places.
atm I use a small gapps package from paranoidandroid (PA)
http://d-h.st/o72
WiFi: (not required any more on available builds)
I compiled a build on my Ubuntu intallation and extract the files for you, hope copy the files works also on the downloadable iso.
Please give me feedback if the files are working for you.
usb8797_uapsta.bin replaced in /lib/firmware/mrvl/
mrvl folder replaced in /lib/modules/3.10.58-android-x86+/kernel/drivers/net/wireless
Touch/Type Cover 2: (not required any more on available builds)
hid folder replaced in /lib/modules/3.10.58-android-x86+/kernel/drivers/
Genymotion is a good choice
snailx said:
Genymotion is a good choice
Click to expand...
Click to collapse
Genymotin is only a emulator as far as I see!
I'm one of the users who want to run an os natively like i did with osx.
sandman01 said:
Genymotin is only a emulator as far as I see!
I'm one of the users who want to run an os natively like i did with osx.
Click to expand...
Click to collapse
Hi,
I'm very interested in this!
Could u pls post a tutorial of installing OSX on surface pro 3 ?
I have only installed Max OS 10.9 in VMware, but it's not smooth verywell.
Does WiFi work well within your OSX install ed on the Disk ?
Hi!
For OSX Yosemite go to
http://www.insanelymac.com
I'm on the SP2 and WIFi only per external USB Stick sorry
I hope similar tho the SP2 kex Files for SP3 are available
For me OSX with the use of touchscreens is not very comfortable.
Is like Win7 to small buttons
Also at Android I only get WIFI working via external USB Stick atm.
Sent from my D6503 using XDA Free mobile app
Thanks a lot, I'll try it.. someday..
Solution for gapps found by the guys from google groups.
Use a EXT4 Partition on the USB-Drive/SSD to get gapps working like a charm.
Post 2 with HOW-TO updated
Surface Pro 3
I can verify that this does not work on the Surface Pro 3. The touchscreen doesn't work, the type cover doesn't work and the pen doesn't work, so I can't even choose my language on the first screen.
epic118 said:
I can verify that this does not work on the Surface Pro 3. The touchscreen doesn't work, the type cover doesn't work and the pen doesn't work, so I can't even choose my language on the first screen.
Click to expand...
Click to collapse
I'm sorry for that, if you have time, can you also test a available Android 4.4.4 installation if olso there touchscreen is not working?
I correct the title and update the OP that everyone sees that on SP3 ther are more problems.
Touchscreen is working on SP2 but Type Cover 2 did not so I also need an external USB keyboard for analysing things in console (ALT+F1)
regards
Sandman01
sandman01 said:
I'm sorry for that, if you have time, can you also test a available Android 4.4.4 installation if olso there touchscreen is not working?
I correct the title and update the OP that everyone sees that on SP3 ther are more problems.
Touchscreen is working on SP2 but Type Cover 2 did not so I also need an external USB keyboard for analysing things in console (ALT+F1)
regards
Sandman01
Click to expand...
Click to collapse
Sure, I've got time!
I'm just going to try installing 4.4.4 and seeing if it works.
I'd like to see Lollipop for my RT
calikevin said:
I'd like to see Lollipop for my RT
Click to expand...
Click to collapse
Haha, I understand you, but I have to mention that I'm a noob.
As far as I understand, creating/porting the drivers/firmware/kernel modules for the surface rt will be much more difficult than starting from an existing project like android-x86.
At the moment I split my SSD into more partitiones, installed the third OS (Ubuntu 14.10), get the complete code from git repository and try to set up the build environment to learn more about things are working together.
Also on Ubuntu the WIFI (USB version of MARVELL 88W8797) wont work out of the box but after replacing the firmware from git.marvell.com I get it up working.
Unfortunately this is not working on Android that easy.
The kernel modul for WIFI is loaded (mwifiex.ko) but no additional network interface is showing (mlan0 should be created)
sandman01 said:
Are there more people interrested in getting latest Android working better on our Surface Pro?
I can support and provide with modified files and my modified How-To if someone like to join.
Click to expand...
Click to collapse
Haha, so glad I found this thread. First things first, is your avatar a paragliding or skydiving canopy? If so, end cells look fantastic and very nice acrobatics with your leg straight up...how did you manage that?
I spent all evening and well into the morning finally getting 4.4-r2 running successfully on my SP2 using Draco's guide. Very nice work there from him.
It's unbelievable how smooth the Android experience is natively. When people recommend the emulators they just don't understand until they experience it themselves.
I have the Type Cover 1, and it's fully functional, but bluetooth and WiFi do not work. I have an Edimax EW-7811Un which does work, but the internet speeds are unusable; it maxes out at .25 Mbps. Is there something I need to do or is there another WiFi dongle which works better? Which one do you use?
Do you know of any combo WiFi/BT dongles that work?
If I can solve the WiFi issue (don't really care about having a small dongle plugged in for android), I will be one happy camper.
One more question: I read the 4.4-r1 had some drivers or something that 4.4-r2 didn't. However, I couldn't get it to boot from USB (it would hang on the android screen). With that said, I just replaced the files within the 4.4-r2 files with the 4.4-r1 on the USB. Do I have to rebuild the thumb drive or can I just replace files?
I will try the Lollipop build later. Good to find someone else doing this! Too bad we're both newbs lol.
dimex said:
Haha, so glad I found this thread. First things first, is your avatar a paragliding or skydiving canopy? If so, end cells look fantastic and very nice acrobatics with your leg straight up...how did you manage that?
I spent all evening and well into the morning finally getting 4.4-r2 running successfully on my SP2 using Draco's guide. Very nice work there from him.
It's unbelievable how smooth the Android experience is natively. When people recommend the emulators they just don't understand until they experience it themselves.
I have the Type Cover 1, and it's fully functional, but bluetooth and WiFi do not work. I have an Edimax EW-7811Un which does work, but the internet speeds are unusable; it maxes out at .25 Mbps. Is there something I need to do or is there another WiFi dongle which works better? Which one do you use?
Do you know of any combo WiFi/BT dongles that work?
If I can solve the WiFi issue (don't really care about having a small dongle plugged in for android), I will be one happy camper.
One more question: I read the 4.4-r1 had some drivers or something that 4.4-r2 didn't. However, I couldn't get it to boot from USB (it would hang on the android screen). With that said, I just replaced the files within the 4.4-r2 files with the 4.4-r1 on the USB. Do I have to rebuild the thumb drive or can I just replace files?
I will try the Lollipop build later. Good to find someone else doing this! Too bad we're both newbs lol.
Click to expand...
Click to collapse
Hi there!
I got 4.4-r2 working on my SP3 and about the internet issue you can use usb tethering with your Android phone
Both LTE and Wifi work and I get the same speed as my phone
dimex said:
Haha, so glad I found this thread. First things first, is your avatar a paragliding or skydiving canopy? If so, end cells look fantastic and very nice acrobatics with your leg straight up...how did you manage that?
Click to expand...
Click to collapse
Thats a paragliding canopy, and what you can see is the basic you have to manage when you want to fly acrobatic style.
Its a full stall where the canopy is not flying forward any more an the pilot is falling backwards untill the body stabilized under the backflying canopy
At the moment I use a USB2.0 HUB to connect the USB-Drive and the WLAN Stick at the same time. because after the last firmware Upgrade of my SP2 the Tablet do not boot any more from the microSD card. ?!?
The WLAN Stick is a original Samsung WIS12ABGNX for my Samsung TV/BD Player I used to test what can be done with them.
on Win8.1 I got a Speed of approx. 8-9MByte/sec (internal Marvell Wifi)
on Android 5.0.2 I got 4-5MByte/sec (external Samsung Wifi)
on Sony Xperia Z2 5.0.2 (unofficial) I got 2-3MByte/sec (internal ... Wifi)
when copy a file between my NAS (100MBit Network LAN structure)
so there is room for improvement, but first I really like to get more familiar with building Android from source by my self and try to get the internal Wifi working.
Also on Ubuntu 14.10 WiFi is working but not very stable but it does. (with including the firmware from git.marvell.com)
shasen1235 said:
Hi there!
I got 4.4-r2 working on my SP3 and about the internet issue you can use usb tethering with your Android phone
Both LTE and Wifi work and I get the same speed as my phone
Click to expand...
Click to collapse
I'd rather get a small nano USB WiFi dongle and "set it and forget it." I don't want to have to carry around the SP2 and my phone with a USB cable just to use the internet.
sandman01 said:
Thats a paragliding canopy, and what you can see is the basic you have to manage when you want to fly acrobatic style.
Its a full stall where the canopy is not flying forward any more an the pilot is falling backwards untill the body stabilized under the backflying canopy
Click to expand...
Click to collapse
Ya, the image was blurry, I was pretty sure that was a paragliding wing. I was a competitive high-performance canopy pilot (swooper) but have been out of the sport for a number of years. Some of the canopies now have radically different designs and the different wings between skydiving/paragliding/etc are merging now to make some cool stuff. Made a few paragliding flights, but never got into it.
sandman01 said:
after the last firmware Upgrade of my SP2 the Tablet do not boot any more from the microSD card. ?!?
Click to expand...
Click to collapse
You were able to boot android directly from a microSD and keep the SSD untouched (didn't even think of that)? Did the upgrade affect the partitions at all? Maybe the set root=(hd0,gpt#) and root=/dev/sda# changed, but I'm sure you already looked at that.
sandman01 said:
on Win8.1 I got a Speed of approx. 8-9MByte/sec (internal Marvell Wifi)
on Android 5.0.2 I got 4-5MByte/sec (external Samsung Wifi)
on Sony Xperia Z2 5.0.2 (unofficial) I got 2-3MByte/sec (internal ... Wifi)
when copy a file between my NAS (100MBit Network LAN structure)
Click to expand...
Click to collapse
Ok, I just want to make sure we're on the same page here. So on Android you were getting 5 MBps (40 Mbps)? That's super fast, unless you meant 5 Mbits, which is still faster than what I'm getting. Right now, I'm getting 0.25 Mbps (0.03125 MBps) which is unusable. I have another WiFi dongle arriving today, so maybe that will help. If it doesn't, why am I getting such slow speeds?
dimex said:
Ok, I just want to make sure we're on the same page here. So on Android you were getting 5 MBps (40 Mbps)? That's super fast, unless you meant 5 Mbits, which is still faster than what I'm getting. Right now, I'm getting 0.25 Mbps (0.03125 MBps) which is unusable. I have another WiFi dongle arriving today, so maybe that will help. If it doesn't, why am I getting such slow speeds?
Click to expand...
Click to collapse
Hi!
I did a 2nd x-check
Defenetly can receiver a 260MB file Form my NAS with ~3,2 Megabyte (~2min) per second and transmit the same file with ~4,5 Megabyte per second back to my NAS with the external Samsung USB WiFi stick
I would say its also possible to installiert Android to the microSD on a EXT4 partition and boot it via Grub.
Yes its all about the (hd0,gpt2) and /dev/sda2 or similar.
Just try it and if the numbers are not correct Boot into Grub and adapt the setting by pressing "e" and thest the setting with "F10"
Well I just tried the TP-Link TL-WN725N and it did not work at all.
Tried within 4.4-r1 that's installed to SP2's SSD and Lollipop booting from USB. WiFi just hangs at turning on and doesn't recognize the dongle.
Why am I getting such slow speeds on the other dongle? And do you know of any specific nano WiFi dongles that work well for this application? I tried searching on Google and in the Android-x86 group but came up empty.
I just want WiFi!!!! :crying:
Hi sorry for my english,there is a guide for install android on surface pro 1 ?
I think is same of surface pro 2, thanks.......

Categories

Resources