[Q] Xperia U and USB OTG, full API support?, max current? - Sony Xperia P, U, Sola, Go

Since the Xperia Tipo doesn't seem to support USB OTG although several sources on the Internet claim that it does I'm now thinking about getting an Xperia U for a college project where we need a relatively low-priced USB host capable Android smartphone.
But before actually getting the device I have two questions which I would be really glad if you could answer:
-the "USB Host Diagnotic" database here (http://usbhost.chainfire.eu/) says that several ROMs for the Xperia U are USB host capable stating
OS Support: Yes
3rd party apps: rooted
Does this mean that once the device is rooted the entire Android USB API (like described here: http://developer.android.com/guide/topics/connectivity/usb/host.html) or does it just mean that some Apps can utilize the USB host features using some non-standard API?
-I read that there is some limit for the maximum current an attached USB device can draw from the Xperia but unfortunately I never could find the exact value for the maximum current that is supported - not even in Sony's official datasheet and manual
Thanks
Regards,
karlmueller

Related

WIA? Driver on Android/tab 10.1 for EOS 350

I have a Canon EOS 350D which needs a driver on windows. Canon could solve this with a new firmware but this will not happen. If I have the usb adapter for the SGT is there a solution to copy photo's from the EOS? Or will I have to take the pcmcia card out to copy photo's?(and use a seperate reader).
Is this a strange Q? Or is it simple: If there doesn't exist an android driver for a external usb device you can't connect it?
It annoys me big time, I will own a nice piece of equipment like the tab, but have to carry a usb adapter, a usb cable and a cardreader with me, to transfer photo's from my camera when I'm on the road.(and the hassling with removing cards etc.)
I don't think there will ever be native support for proprietary drivers in Android. I'm no developer so I can't say if you could add support for that camera driver through an app but I don't think you'll get around the sd card reader + USB adapter combo for now.
If you can find Linux/Ubuntu support for it, you MIGHT be able to hack it in with an alternate kernel - but depending on the nature of the support method, the user interface may be suboptimal. (using shell commands to mount, etc.)
Edit: Check Themes and Apps section, new news. There's apparently now a "DSLR Controller" app, not sure how well this will work for you. I shoot Pentax so I can't test it.
Entropy512 said:
If you can find Linux/Ubuntu support for it, you MIGHT be able to hack it in with an alternate kernel - but depending on the nature of the support method, the user interface may be suboptimal. (using shell commands to mount, etc.)
Edit: Check Themes and Apps section, new news. There's apparently now a "DSLR Controller" app, not sure how well this will work for you. I shoot Pentax so I can't test it.
Click to expand...
Click to collapse
If I can also copy photo's with it, it will be great. Thanks, I will check it out.

USB OTG removed?

Is it true that Samsung removed USB OTG Host capability from latest firmwares?
"DSLRcontroller" requires USB host and developer is suggesting that Samsung removed the feature.
http://dslrcontroller.com/devices.php
https://market.android.com/details?id=eu.chainfire.dslrcontroller
Could anyone try or disagree?
Galaid said:
Is it true that Samsung removed USB OTG Host capability from latest firmwares?
Click to expand...
Click to collapse
Why would you doubt Chainfire?
http://www.chainfire.eu/articles/103/_SGS2_KI_Samsung_removes_USB_host_support_patches_bootloaders/
http://forum.xda-developers.com/showthread.php?t=1202082
Any official response from Samsung about WHY did they remove the feature that existed on previous 2.3 ROMS?
Is this true ???
Sent from my GT-I9100 using Tapatalk
Someone correct me if I'm wrong, but the way I understood it was this:
USB OTG still works (technically) for "identified devices"; those devices being flash drives (and by extensions also usb card readers which appear as flash drives), mouse and keyboard. "Unidentified Devices" ie your DSLR will not activate in the newer firmwares. If Samsung didn't specifically add the device's USB id to their "whitelist" of approved devices, it will not activate. My guess is certain unsupported devices may have been causing issues with the phone?? Not quite sure, but this is the cause of this app not working on the newer firmwares. Before now, any usb otg would work in the sense that the phone would connect and form a link with it, even if it didn't necessarily know what to do with it (be it a webcam, dslr, etc) which is again what we need for this dslr program to work.
Maybe an answer could be to locate and modify the whitelist? My guess is that might be the easiest solution (speaking as a non-developer...)
compuw22c said:
Someone correct me if I'm wrong, but the way I understood it was this:
USB OTG still works (technically) for "identified devices"; those devices being flash drives (and by extensions also usb card readers which appear as flash drives), mouse and keyboard. "Unidentified Devices" ie your DSLR will not activate in the newer firmwares. If Samsung didn't specifically add the device's USB id to their "whitelist" of approved devices, it will not activate. My guess is certain unsupported devices may have been causing issues with the phone?? Not quite sure, but this is the cause of this app not working on the newer firmwares. Before now, any usb otg would work in the sense that the phone would connect and form a link with it, even if it didn't necessarily know what to do with it (be it a webcam, dslr, etc) which is again what we need for this dslr program to work.
Maybe an answer could be to locate and modify the whitelist? My guess is that might be the easiest solution (speaking as a non-developer...)
Click to expand...
Click to collapse
Hey,
I am not an expert on this, but I belive that your statement is just partially true.
I just encounterd the same problem, i.e. usb-devices such as mouse, usb-stick, etc are properly supported BUT my own application would not run on my SGS2 (running KI1/KI1/KI1).
The application doesn't try to establish a connection to any unsupported device whatsoever (i.e. it just queries the number of connected usb-devices). Hence there is no special requirement for this application except the presence of the USB Host API, but this application crashes just like any other application which requires USB HOST (e.g. DSLRController).
Best

USB OTG

The Z2 supports OTG apparently. My question is, can I move files directly from my current Android phone to my Z2 using OTG? Or Do I still have to use my PC as the middleman between the two?
sacredsoul said:
The Z2 supports OTG apparently. My question is, can I move files directly from my current Android phone to my Z2 using OTG? Or Do I still have to use my PC as the middleman between the two?
Click to expand...
Click to collapse
You cannot directly connect two phones with a cable and transfer files. The reason is that the phone never exposes its filesystem directly, but uses an MTP client to make files available on a PC. Since the Z2 is not an MTP host, it cannot see the files on the "old" phone.
There could be an exception if your "old" phone is really old. Originally, Android phones used a FAT filesystem for the "SD card", and then often exposed that directly to PC's, and then they ought to work also with an OTG phone as host. I cannot confirm what phones from what manufacturers would work in that manner, however.
Another way to transfer files, if your old phone supports OTG, is to use a USB memory stick as intermediate storage. A PC might still be more convenient, however, compared to using a clunky file manager on yotr phones.

[Q] How does a piece of hardware becomes android compatible?

Hi Devs!
I imagine this should be already discussed and explained somewhere, but I just can't find it as the word "android driver" is ambiguos and directs me to different topics.
Here we go with the question: nowadays many Android devices come with otgusb, so you can connect usb sticks, and all sorts of compatible devices. But: how to make a device compatible?
Since Android is linux, I assume loading a driver cannot be loaded just by installing an app, so do you need to call google and say "hey I got this new device, can you load the driver in your next kernel?" (sarcasm!!) or ...well...in short:
what the heck should one do if he wants to make a device compatible with android phones/tablets, even assuming he is able to write the driver by himself?
the question may be applicable to a variety of devices... a new remote one bought, a new BT wristband one wants to launch into the market, a usb sensor of some kind, etc etc etc.
thank you!
Ok, so I see there's apparently something called USB Host API, I read a little bit how it works, but I still have questions:
1. Does this mean basically that Android phone/tablet will provide RAW access via the USB Host API to any usb data stream received, and all I need is to write an app to decode that data?
2. If so, what makes a device compatible/incompatible?
3. If all of the above assumptions are wrong, please help
4. this still doesn't answer the bluetooth part, sorry for being so slow

G8 Power - Google Locked - USB Dev mode not on - can only access SD card - Best way to get Root?

Picked up a Moto G8 Power off Ebay and I havent touched an Android since I flashed a HTC Desire with Cyanogen Mod years ago.
Product/Variant: sofair XT2041-3 64GB PVT
?BootLoader? BL:MBM-3.0-sofiar-reteu-0f8934adaf8-210928
BaseBand: M6125_43.45.03.48R Sofia_rowdsds_cust
Recovery mode shows: RPES31.Q4U-47-35-9/54bc43
oem_locked
Spent all of today going around in circles.
Google Locked = it wants a pin to verify. Ebay ad stated it was google locked house clearance and not stolen. Nothing shows up in CheckAmend.com
On an offline PC
Android Studio installed - strangely ADB nowhere to be found.
ADB installed separately.
Got Magisk apk
Got from lolinet mirrors
XT2041-3_SOFIAR_RETEU_11_RPES31.Q4U-47-35-9_subsidy-DEFAULT_regulatory-DEFAULT_CFC.xml
blankflash_sofiar_RPE31.Q4U-47-35
From Motorola
Motorola_Mobile_Drivers_64bit
Rescue_and_Smart_Assistant_v6.3.2.12_setup - This will not install and I find this error in the Windows eventlog
MDM Declared Configuration: Function (checkNewInstanceData) operation (Read isNewInstanceData) failed with (The parameter is incorrect.)
Motorola support cant help until monday, but it might be a ASLR or some other MS security thing.
TWRP is missing the Motorola G8 on their website, G7 and G9 and others exist, so this is not an option.
Followed some of those youtube videos showing how to bypass the FRP, which appear to use a variety of tricks to either disable the Google Play Service or use an app to launch another app, a bit like getting the 2nd dial tone by calling a business freephone number, and hacking their phone system to get an onward outbound dial tone in the 80's.. Showing my age!
Before I put the device online using wifi and no sim for mobile data, I could get access to the Androids settings, where I could list apps, set permissions and other things so I'd tried to disable the play store, but these tricks wouldnt work. Put it online and it appears Android has been updated so those previous tricks for getting all the apps listed and makiing changes to their permission etc is no longer there. One of them was using the emergency phone, getting to the contact detail and then choosing a pic to gain access to other apps and that also stopped working and has disappeared which is why I say I think its been updated in all but version number!
I can access a fat32 sd card in recovery mode, but the apk files I put on it dont show, just the folders Android created on blank Fat32 partitions.
USB and ADB dont detect this device so I cant use the Wireshark USB to watch what is going over the USB connection.
AFAIK Android DeveloperMode/Debugging Mode is disabled.
I havent touched an android since the HTC Desires appeared and then I ported it Cyanogen Mod, but I subsequently learnt the UK Police had access to my phone even back then!
Not taking it apart to get access to the JTAG (just yet), I bought a few broke Pixel4A to see what I could learn about them when they arrive as well.
I see in fastboot, the mention of a "console [NULL]:null" is this the fastboot.exe alongside adb.exe in android tools, or something else?
So is there any other way or suggestion to get root for this device?
I fancied looking at LineageOS, or maybe some other OS like an unofficial port of GrapheneOS. I've found the device tree info put up by someone on here which would suggest its possible to port from Android 10Q to an Android11 distro/os, but my first hurdle is my stumbling block, I cant get the USB to work and have not found any other way to get beyond this stage to poke around with the OS and phone.
So any pointers, suggestions, advice, will be much appreciated!
TIA
Edit. It looks like Android/Google/Motorola have done a good job at locking down this OS and phone.
Edit2
Saw this thread here about making sure the Motorola drivers are installed properly.
[HELP] I seem to have bricked my Moto G Power and not it's stuck on bootloader.
This is what it looks like, and if I try to boot into recovery or system it just says "no operating OS found." Windows won't recognize it when trying to connect via USB. Any way to fix this? Help would be greatly appreciated.
forum.xda-developers.com
On Win10x64 I've been into c:\windows\system32\DriverStore\FileRepository, sorted the subfolders by todays date/time and can see a number of subfolders like
motoandroid.inf_amd64_dd80f24dcfb3dc931
motoandroid2.inf_...
motodrv.inf_....
motousbnet.inf....
and when inspecting one of the .inf files in notepad I can see there appears to be a service linked to the driver, but when I check the services, there isnt any services installed.
So I'm starting to think maybe Motorola's installation software doesnt work on windows with the default windows security settings, like exploit protection running.
More investigations...
Edit4
In the Control Panel (yes its still there in Win10), Device Manager, Other Devices are a couple of entries which the latest attempt to install the Motorola USB x64 msi installer created.
These are:
Mot Composite ADB Interface
Motorola ADB Interface
In c:\Windows\system32\drivers are a couple of 0KB wdf files (Windows Driver Foundation) files:
Msft_Kernel_WinUSB_01009.Wdf
MSft_Kernel_motoandroid_01009.wdf
Msft_User_WpdFs_01_11_00.wdf
So when looking at the c:\windows\system32\DriverStore\FileRepository I think the driver that needs to be installed can be found in the subfolder:
motoandroid.inf_amd64_dd80f24dcfb3dc931
However opening the motoandroid.inf file inside I can see lines like
DriverVer=03/25/2013, 1.3.0.0
As this folder was created about 30mins+ earlier, am I correct to believe the actual motorola driver was created back in 25th March 2013 and is version 1.3?
I know its possible to edit inf files to make drivers W2k and XP drivers work on later versions of windows, but the motorola website has the version number 6.4 but is this 6.4 the version number of the installation program?
Anyway scrolling further down the motoandroid.inf I can see towards the bottom instructions to install a service
"Mot ADB Interface Installation Driver" and it needs to find the actual driver in %root%\System32\Drivers\motoandroid.sys
Various paramaters, like a transfer size 4096bytes, a debug level of 2 and plenty of guids which will be found in the registry.
Anyway uninstalling the software as now removed these subfolders from the DriverStore\FileRepository, so a reboot and another attempt to see where its failing.
I just hope it doesnt need an internet connection, as this offline pc is a dev machine.
Onwards and upwards....
Edit 5
So the Windows 10 setting which prevents the Lenevo Rescue and Smart assist from installing is the Windows App and Browser Control > Exploit Protection > Force randomisation for images (Mandatory ASLR) when its on.
You can have every other windows setting on, like ransomware protection, normal ASLR, DEP etc etc and LMSA installs fine, right now its downloading an image to flash from FastBoot, but its not got the Developer mode/USB debug enable in android to make this possible.
Now lets see if I can get the Motorola USB drivers to work with ADB...
Got to say these forums are excellent cheap intelligence gathering tools for manufacturers and software companies to harden their products.
So tried lots and lots of these types of YouTube videos which are exploiting an SE Linux "vulnerabilities/design flaw" by getting access to enough of the system in order to disable/force stop certain apps in order to get past FRP block.
Some of these are less than a month old with less than 100 views, but I also suspect some of them of doing a bit of camera editing. I guess its a way of bunking up the number of views for a youtube account, before it gets rebranded, if thats even possible!?!
Now I managed to get the Lenovo Rescue and Smart Assist program to work, once I realised it will not install when Windows Exploit protection/Mandatory ASLR is enabled (which is a give away as to what the installer is doing on my system as well), and the give away information which suggests it might be worth downloading wireshark and installing the USB "packet" sniffer is the fact that when LMSA is running and you plug your usb cable into the Motorola phone, the phone displays the battery power as a xx% inside a swirling circle of sorts.
So there is some sort of USB communication taking place?
The other thing that gives it away is when you type in your IMEI number into the LMSA Rescue section, its detecting the version of firmware and wants to download the latest version.
LMSA did this to me last night as it downloaded
SOFIAR_RETEU_RPES31.Q4U_47_35_12_subsidy_DEFAULT__regulatory_DEFAULT_CFC.XML.zip
which I guess I can search for on this computer, or at least search for files on my windows hard drive created within a certain date/time frame, as the filename might be scrambled/obfuscated in some temp folder.
So is it just Firmware level communication, or is there some sort of Android communication taking place as well?
If its just firmware, then what could be elucidated/deduced from attacking the firmware? Perhaps its time to get the Wireshark USB sniffer out after all.
As I can also put an SD card into the phone (the start of a potential side channel attack) and the phone will load the SD card, I could explore different routes like some "malware" embedded using a picture to attach to the Emergency Contact details, maybe some PHP embedded in the pictures EXIF data or something that could trigger some other secondary app/process in Android into action.
It might pay for me to lookup the Google Android source if its open source, and look at the Android project source which is open source for any vulnerabilities. Anything mentioned in Github could give away clues
Configure on-device developer options | Android Studio | Android Developers
Learn how to configure system behaviors that help you profile and debug your app performance.
developer.android.com
So are there any issues listed here which doesn't just affect Android 13, but maybe earlier versions as well?
Google Issue Tracker
issuetracker.google.com
So lots of less obvious or not publicly mentioned intelligent sources of potential attack vectors in plain sight.
Seeing if I can alter the cpu clock speed and quantum could also help to introduce some instability, Linux has a wider range of cpu schedulers than windows, but this route tends to hang systems and I have to get enough access to this phone in order to change the route.
The recovery msg logs seen when selecting different bootloader options give away info, I think this is DMesg output of sorts. I'm not a linux programmer, just a boring old windows programmer.
I could explore what else could be loaded from the SD card, using the Bootloader menu options. I was surprised the APK packages dont appear in SD card in the "Recovery Mode > Apply updates from SD card" option. Maybe its not expecting a APK file extension? Mybe its expecting a different file of sorts like a .bin file or .img file. Is this where BlankFlash comes into play?
I have to admit, buying a second hand phone like this with FRB enabled off Ebay from a guy purporting to be in Salisbury home of Noivchok, is also a great way of spreading the latest and greatest malware to unsuspecting hackers and also to phish those who could potentially get around the FRB restriction with the minimum of effort. The UK civil service have their own internal postal system so has something been posted internally down the M5 motorway from Cheltenham, for some intelligence gathering or a cheap way of outsourcing some device cracking?
Oh well the silence is deafening.
So Motorola Support Centre have been in touch and stated:
I am really sorry to say that the kill switch feature, which is known as "Google Lock" is not bypassable by anyone other than the repair center.
So they are stating the Android Factory Reset Protection (FRP) can be bypassed which is another way of saying it can be undone, so the next challenge is finding out where on the device this flag or flags resides.
Is it something like the RaspberryPi One Time Programmable (OTP) switch's that may not be One Time Programmable but like the dip switches seen on the motherboards of early 8086/286/386/etc personal computers, or something else like a file on the main storage device with the rest of android.
I think the first thing to do is get Wireshark and the USB sniffer to see what information is being sent over the USB cable.
And as its possible to get the device online via wifi, it's probably a good idea to see what information is being sent over wifi, so using wireshark on a raspberrypi masquerading as an access point might be useful as well.
So the first thing to do is have a look at the Android documents
Android
Android has 74 repositories available. Follow their code on GitHub.
github.com
https://developer.android.com/reference/android/app/admin/FactoryResetProtectionPolicy
The factory reset protection policy determines which accounts can unlock a device that has gone through untrusted factory reset.
So it looks like Android are also stating the Factory Reset Protection can be undone. It seems a that a single user setup and a corporate setup exist, where a corporate account could be used to remotely wipe a device and then reenable the device, I guess if the user hands it back to the company.
https://developer.android.com/about/versions/marshmallow/android-6.0-changes API 23
EXTRA_PROVISIONING_RESET_PROTECTION_PARAMETERS is removed so NFC bump provisioning cannot programmatically unlock a factory reset protected device.
You can now use the EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE extra to pass data to the device owner app during NFC provisioning of the managed device.
Interestingly, NFC can be used to unlock FRP in earlier versions of Android. and its possible to use NFC to potentially configure and more other devices using NFC. As NFC is just a low power and thus low range frequency in the RFID range of frequencies alot of other things could be possible. NFC to me is just like any other form of communication method, beit a usb cable, telephone wire, wifi, ultrasonic sounds, or Infrared.
Radio-frequency identification - Wikipedia
en.wikipedia.org
NFCIP-1 and NFCIP-2
Near-field communication - Wikipedia
en.wikipedia.org
As NFC can communicate a request and response, and Android is using NFC to configure devices, using NFC may be a novel attack vector for peoples android devices, without them knowing about it unless they capture on a personal webcam everyone and every NFC device they come in to close contact with. Maybe using payment terminals could become a new attack vector at your favorite local retail outlet?
Well if Covid doesnt make people socially distanced, then maybe an NFC attack vector might if it works beyond the claimed 4cm operating range! Unfortunately this phone does not come with NFC, but others do.
I've got to find the source code....
Android (operating system) - Wikipedia
en.wikipedia.org
Most versions of Android are proprietary. The core components are taken from the Android Open Source Project (AOSP), which is free and open-source software (FOSS) primarily licensed under the Apache License.
Search results for "factory reset protection" | Android Open Source Project
source.android.com
The default implementation of Test Harness Mode uses the same storage mechanism as Factory Reset Protection to store the ADB keys temporarily in a persistent partition.
So it looks like I need to gain access to this "persistent partition" and try to find this ADB for starters.
Seems a bit sneeky of Google and Android here. https://source.android.com/docs/security/bulletin/2016-02-01
At the bottom of the Android webpage is a link to Factory Images of the Google Nexus and Pixel phones which jumps you to Google web page. No indication what so ever I'm leaving Android and going to Google!
Flashing devices | Android Open Source Project
source.android.com
To enable OEM unlocking on the device:
In Settings, tap About phone, then tap Build number seven times.
When you see the message You are now a developer!, tap the back button.
In Settings, tap System, then tap Developer options and enable OEM unlocking and USB debugging. (If OEM unlocking is disabled, connect to the internet so the device can check in at least once. If it remains disabled, your device might be SIM locked by your carrier and the bootloader can't be unlocked.)
Reboot into the bootloader and use fastboot to unlock it.
For newer devices (2015 and higher):
fastboot flashing unlock
For older devices (2014 and lower):
fastboot oem unlock
Tip: if you're seeing `adb devices` output before reboot but fastboot or the flash script are misbehaving, it might be issues with your USB cable. Try a different port and/or switching connectors. If you are using a USB C port on your computer try a USB A port instead.
Confirm the unlock onscreen.
Well the instructions I've seen only talk about the gaining access to settings and the doing 7 taps on the Build Number. Lets see if the rest of the instructions work.
Onwards and upwards....
Well sent the phone back the Ebay seller claiming to be a house clearance business wouldnt provide any paperwork to back up his claims of how he came to be in possession of the phone. So as I planned to do some computer forensics on it, like retrieve the files wiped by a Factory Reset, and the perverse interpretation of the law in this UK, I wasnt prepared to go any further with the phone. So its been sent back. The banks have already shown how untouchable they are, other big businesses are also in the same position and finding illegal stuff on a phone is not a risk I'm not prepared to take without paperwork.

Categories

Resources