Related
USB Host mode driver for Samsung Galaxy S (i9000)
Also available on the Samsung Captivate and Nexus S
Vibrant and i9000B builds are avialable in some onecosmic kernels
Disclaimer: This kernel will enable some very early, and rough usb OTG support for your phone. Currently the phone DOES NOT give out power, so you NEED an external power source to be able to use this kernel. This is true for ALL USB devices, even with those that have their own power source, and doesn't requre external bus powering. Solving this limitation is a TODO, but we cannot guarantee anything. There are some other phones that have usb host support the same way this kernel has (eg. they need external power), like the Nexus One, and there is also a community using this, so if you're saying that usb host support has no sense if you need an external power source then you are definitely mistaken.
This kernel is built upon teamhacksung's ICS Build 14 kernel, and will only work with that particular ROM (and later b15 and b16 versions of it). There is also a build for stock JVU (Gingerbread). It is possible to port this to older ROMs too (like CM7, or pre-GB ROMs). Ask your favourite kernel developer to do this for you. I only plan to support the CM9 and the stock Gingerbread version.
The patches are quite device-independent, so they should also work for other similar handsets, like all SGS variants (Captivate, Vibrant, epic, etc.), and also some distant relatives like the Nexus S, or the Galaxy Tab. I do not own these handsets, so you have to ask your favourite kernel developer to port the changesets to the other variants. I have already a build script for Captivate (CM9) and Nexus S (ICS) ports.
I might also try to create kernels for other devices if the following are true:
The kernel source is avialable on github. It is either a kernel for gingerbread (>=2.6.35) or for ICS (>=3.0)
It also contains (or has links to) the initramfs and all the other files needed to create an update.
If creating the update is not straightforward I also need a script to do this for me
After the update is made I need someone with the device to test it for me. If the feedback is positive I'll build versions for that device too, whenever something is changed.
Credits goes to:
The misterious guy at Samsung(?) called chul2 for the original s3c host drivers
Kevin Hester (kevinh, probably also nicknamed geeksville, punkgeek and humcycles) for fixing the s3c host driver for the Samsung Galaxy Tab
Ever kernel developer at teamhacksung for bringing ICS goodness to Galaxy S
This is a very early, and very rough usb host support. Expect crashes, freezes and things that are not working! You will also need external power (probably through a Y-cable or a powered usb hub, see the device connection guide below). Also make sure you are only using USB 2.0 (high-speed) devices. The driver does has some quirks with USB 1.x low-speed and full-speed devices, like mice, keyboards, gamepads and similar things. Read the FAQ for more information about them. And of course it doesn't work with USB 3.0 (super-speed) devices.
Device conection guide:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
FAQ: see post 2
ChangeLog: see post 3
Developer notes: see post 4
Download links: see post 6
Usb Host Controller: see it's own topic
FAQ!
Terminology
USB Host: The ability to connect other USB external devices to your device.
USB OTG: The ability of a device to work either as a client or as a host in an USB network.
OTG cable: An USB-micro male - USB-A female cable. It also has pins 4 and 5 connected inside the USB-micro male part.
USB Y-cable: A special USB cable that has three ends: two USB male-A ends (one data, one power port) and one USB-mini-B male end.
LS: USB 1.0 Low-speed (1.5 Mb/s)
FS: USB 1.1 Full-speed (12 Mb/s)
HS: USB 2.0 High-speed (460 Mb/s)
USB Hub: A device that lets you split the USB signal
Powered USB Hub: A hub that has an external power supply support
Upstream: The direction from the client device to the host device.
Control Transfer: One of the five transfer types used by the USB specification. It is responsible for maintainin the state of the USB devices.
Bulk Transfer: One of the five transfer types used by the USB specification. This is the most used one, used by drives, cameras and most proprietary usb devices.
Interrupt Transfer: One of the five transfer type used by the USB specification. This is mainly used in HID devices, like mice, keyboards and game controllers.
Isochronous Transfer: One of the five transfer types used by the USB specification. This is used in streaming devices, like usb audio and usb video devices, dvb receivers, etc.
Split Transfer: One of the five transfer types used by the USB specification. It is responsible for converting USB 1.x signals into USB 2.0 signals.
How to connect the things:
You will need:
The phone
An OTG-cable (make sure it's not NOKIA branded, as they have square connectors. You can use some sandpaper to smooth those edges though, so they'll fit inside a normal micro-USB base)
Either a powered USB hub (preferably that powers the upstream connection as well)
Or a simple USB hub, with a mini-USB connector and a Y-cable, and some USB power source (in this case the upstream powering works out of the box). You will need a decent usb power source though (5V/750mA at least)
Make sure the HUB support USB 2.0 and IS indeed an USB 2.0 high-speed hub. USB 1.x Full-speed hubs are very instable Even if it's an USB 2.0 hub it might not work. Either try to find another one, or connect the device directly to the phone (check the connection graphical guide below)
And, but not least, some things to connect to the phone.
Here is a short video of me demonstrating how bad my spoken English is (among other things): http://youtu.be/Yqfk7BOd8J4
And here is a graphical connection guide:
Here is another one (from developersdevelopers), showing how to solder a cable for yourselves:
How to install the kernel:
For CM9/ICS versions: Boot to recovery and use CWM to flash the update. DO NOT TRY to flash this to anything else than teamhacksung's ICS ROM.
For stock GB versions: Use Odin to flash the new kernel. Make sure you already have a recent GB ROM on your phone.
How to use:
By default host mode is turned off, and won't be activated even if you put in an OTG cable. This is for stability reasons. There is an application on Market called "Usb Host Controller" that allows you to enable host functionality. (It can also be downloaded separately) For best results connect the devices in this order:
Add power to the USB Hub / connect the power part of the Y cable to a source of power
Set Operation Mode in "Usb Host Controller" to OTG
Connect the OTG cable to the USB hub or device
Connect the OTG cable to the phone
If everything is fine, you should see the USB hub inside the USB tab in UHC. Next you might try to connect your peripherals one by one to the hub. You should always check whether they are enumerated or not. (by pressing refresh)
What is working:
USB 2.0 devices seem to work fine. This includes flash drives, and other accessories like Canon DSLRs. This concludes all USB 2.0 devices I have at home.
What does not work:
USB 1.x devices are very quirky (more about this later). USB 1.x devices include almost all HID devices (like keyboard and mice). Some external hubs are failing too. If you cannot connect your hub to the device try with another one, or try connecting the device without an external hub in the middle.
Also you will need to power the devices externally, as the phone doesn't give out power on the OTG connector.
USB device enumeration is also broken with mass storage devices: it will not re-enumerate the partitions and devices avialable after they have been connected. Since the 0.2 version of UHC it has a new function: reloading the partition table of a device. You have to do this manually. This might solve most of the "no partition found" problems, and will also lets you connect other Android devices.
Do I need a hub to get it working?
No, if you only want to connect one device you can connect it straight to the phone (if you provide it with +5V power). This means you can connect the one end of a Y cable to a power source, the other end to your device and the third end to the phone's OTG cable, and it will work. As it seems there are problems with some external hubs, if you can, then connect to the external device without using a hub in the middle.
What is "Usb Host Controller"?
Usb Host Controller is a small app, that let's you enumerate the USB devices that are connected to your phone. It also let's you easily mount and unmount FAT32 based partitions of the flash drives you connect. Besides these globally useful functions it also let's you control how the host mode should be working with.
Does DSLR Controller work?
According to chainfire the latest version (0.85) of DSLR Controller will work on CM9-ICS + Galaxy S and this kernel. On JVU even older versions (0.83) should work too.
Does it work on CM7, stock ROM, other Galaxy S variants, Nexus S, etc?
It currently works on the folloving devices and ROM versions:
Galaxy S i9000
CM9 / ICS
JVU / Gingerbread
Captivate
CM9 / ICS
Nexus S
(official) ICS 4.0.3
For other S5PV210/S5PC110/Hummingbird based devices this can be probably ported easily. I will do this if you ask me and the following things are present:
The kernel source is avialable on github. It is either a kernel for gingerbread (>=2.6.35) or for ICS (>=3.0)
It also contains (or has links to) the initramfs and all the other files needed to create an update.
If creating the update is not straightforward I also need a script to do this for me
After the update is made you will test it for me. If the feedback is positive I'll build versions for that device too, whenever something is changed.
Is there a chance that this will work without having an external power source?
Maybe. In theory the S3C controller has the appropriate functionality, but in practice it might not work (for example there might be missing connections inside the PCB, etc.)
What about USB 1.x devices
USB 1.x devices work since build 3 (the first JVU build), but only if you connect them to the device without a hub involved (you still need external power). They will still not work if you connect them to an USB 2.0 hub. You might connect more USB 1.x devices together if you happen to have an USB 1.x hub, but it needs patience (I managed to connect a mouse a keyboard and an external hard drive at one through an USB 1.x hub, but I had to try it at least 20 times to get them all properly enumerated. After that they worked though)
More info about USB 1.x devices: http://forum.xda-developers.com/showpost.php?p=21673976&postcount=101
Since Build 5, you can also choose to disable the USB 2 functionality of the phone. This will increase stability for USB 1.x devices, but will decrease the transfer speed of USB 2 devices, like external drives. If you want to connect USB 1.x devices through an USB 2.0 HUB, you will need to disable USB 2 mode though.
How to debug
The easiest way to debug is the following:
Turn on "Wireless ADB" on your phone. You can use UHC, or any other app that supports this for that.
Next connect to your phone wirelessly from your PC, and use the following commands:
Code:
> adb connect 192.168.1.100 (enter the actual ip address you get for your phone)
> adb shell
$ su
# echo o > /sys/devices/platform/s3c-usbgadget/opmode
# cat /proc/kmsg
The above command includes setting the operation mode of the host controller to "OTG mode", so you don't have to do it on the UHC.
If everything is fine, you should see results similar to this: http://forum.xda-developers.com/showpost.php?p=21686936&postcount=117
If devices don't get enumreated properly try switching back to client mode, then to OTG mode again, without disconnecting the devices. You might also try simply reconnecting the devices to the USB cable. Also make sure your power source can give out enough power. For debugging purposes I advice you to use the USB port of a computer / notebook as a power source because they can usually give out 1A of current out of one port. Most external chargers can only give out 500mA-600mA, which might not be enough for multiple devices.
It still doesn't work
There are unfortunately a lot of factors that might make the USB Host mode break. These include:
Non-conformant USB devices
Low quality cables
Low quality power soruces (chargers)
Solar flares
Underground nuclear tests
etc.
Try replacing the cables / devices / power sources and hope it will work next time.
ChangeLog
ChangeLog
BUILD 5 - CM9 galaxysmtd / captivatemtd; JVU galaxysbml; ICS nexuss
Release notes: http://forum.xda-developers.com/showpost.php?p=21908806&postcount=214
Added the option to run in USB 1.0 mode
Added the option to disable charging
Initial DWC driver support
A few small fixes
BUILD 4 - CM9 galaxysmtd / captivatemtd
Release notes: http://forum.xda-developers.com/showpost.php?p=21676191&postcount=102
Usb 1.x devices work a few times (check FAQ)
BUILD 3 - JVU galaxysbml
Release notes: http://forum.xda-developers.com/showpost.php?p=21673976&postcount=101
First native build for JVU
Usb 1.x devices work a few times (check FAQ)
BUILD 2 - CM9 galaxysmtd / captivatemtd
Upgraded to latest driver from SGS2 sources.
Fixed root hub device enumeration issue
Driver now clears allocated resources after cable is disconnected
BUILD 1 - CM9 galaxysmtd / captivatemtd
Initial version
For developers
For developers
Getting USB host mode was not really a priority for developers, and it wasn't also very easy. The kernel that Samsung provided had traces of EHCI and OHCI support, but they all seemed to be dead-ends. There was a working Host driver though on some releases, most notably the EA24 release of the Galaxy Tab. (From it we know that it is actually the same driver that is used on odroid2 and probably SGS2 too). This driver was actually not usable, but a fellow developer "Kevin Hester" fixed it, and posted it on his github account. Unfortunately his solution was based on a very old kernel, which used a lot of junk Samsung kernel stuff and deprecated features. Also he based the whole client-host switching code on the proprietary 30 pin connector, which is only used in Galaxy Tab variants. The above things meant that his code was not as easily portable as he probably thought.
My involvment was mainly to incorporate his fixed S3C Host driver to the latest 3.x kernel branch, fix some of it's internal workings, and put the client-host changer routines somewhere else (it actually landed in the client mode driver called s3c_udc_otg).
The driver works as following (if you find it inelegant note that the SGS2 does work the same way!):
The client mode gadget driver is always loaded. It is signalled by the FSA, if it sees that a cable is connected or disconnected. The FSA knows whether the cable is an OTG or a simple client one, and sends this information to the client driver.
Next the client driver decides whether it needs to change to host mode or not. If it changes, it deregisters his interrupt requests, and loads up the host driver. The client driver stays in memory, but without the interrupt handler routines it will not interfere with the host drivers working.
The host driver grabs the interrupt handler, and does the enumeration of the devices. It seems the root hub of the driver only does it once, so if anything changes between the phone and the first device (power loss, cable disconnection etc.) the driver won't notice it! (Thiks is why the first device should be a proper external usb hub, as it will re-enumerate devices if they are connected and disconnected. Losing the power supply will hang the host mode still though). EDIT: this is already solved.
The client driver still listens on cable changes by the FSA. For example if a cable is disconnected and the client driver is not in "host" mode, then it will shut down the host driver (it will unload it from the memory).
The client driver can be in 4 modes:
client: only client mode whatever happens
host: always host mode. The client will load the host mode driver the instant the client driver mode changes to host, and will stay so until the mode is changed again to something else
otg: client mode when no cable or a client cable is connected. Will switch to host mode if an otg cable is connected.
auto-host: client mode when no cable is connected. Will switch to host mode if an otg or a simple client cable is connected.
The actual mode can be queried from the file:
Code:
/sys/devices/platform/s3c-usbgadget/opmode
The actual mode can be set by echoing 'c','h','o' or 'a' to the previous file. (Or by using Usb Host Controller, which actually does the same internally)
After connecting external mass storage devices be aware that udev won't create the appropriate nodes inside /dev for them. Usb Host Controller will do this autoamtically, but from the console one needs to do an mknod, befure it can be mounted as a file system.
Build 5 notices
From Build 5 there are more host drivers built in: S3C in HS mode (original), S3C in LS/FS (eg. USB 1) mode, and an initial DWC driver. The latter is included as it uses the same specification, and it seems it might get into the upstream kernel branch too sometimes, meaning if it can be loaded it might actually get decent support later on. It also supports isochronous and split transactions, which the original S3C drivers lack.
The DWC driver does not work currently however, choosing it will usually crash the phone, and force a restart!
To change the driver you have to write 'l','f' or 'd' into the file:
Code:
/sys/devices/platform/s3c-usbgadget/hostdriver
Apart form that there is also a version file there, containing a few informations about the module.
There is also support to turn off charging, while the phone is connected to a charger. You can turn charging on/off inside the file disable_charger, which can be found somewhere in the sysfs (it's location might change between devices)
Uhh! Cliffhanger!
Downloads
Downloads
CWM Kernel Update:
build 5 nexus s ICS, anykernel: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build5_icsnexuss.zip
build 5 galaxy s mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build5_cm9galaxysmtd.zip
build 5 captivate mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build5_cm9captivatemtd.zip
build 4 galaxy s mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build4_cm9galaxysmtd.zip
build 4 captivate mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build4_cm9captivatemtd.zip
build 2 galaxy s mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build2_cm9galaxysmtd.zip
build 2 captivate mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build2_cm9captivatemtd.zip
build 1 galaxy s mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build1.zip
build 1 captivate mtd/cm9, based on teamhacksung's ICS Build 14: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build1_captivatemtd.zip
Odin kernel updates:
build 5 galaxy s JVU, based on cf-root 4.3 + stock gingerbread kernel: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build5_jvugalaxys.zip
build 3 galaxy s JVU, based on cf-root 4.3 + stock gingerbread kernel: http://android.sztupy.hu/dl/usbhost/kernel_usbhost_build3_jvugalaxys.zip
Usb Host Controller:
All releases can be found here: http://forum.xda-developers.com/showthread.php?t=1468531
Directory listing of all released files: http://android.sztupy.hu/dl/usbhost/
Source code of kernel driver:
CM9 galaxysmtd / captivatemtd: https://github.com/sztupy/samsung-kernel-aries
JVU GB update 2 galaxys: https://github.com/sztupy/samsung_kernel_galaxys_gb
ICS Nexus S: https://github.com/sztupy/samsung-kernel-herring
If you build a kernel that use the above source, please also link to Usb Host Controller and this topic, because without them the modification is not really usable for an end-user! If you do link both, and also drop me a PM, I will add your kernel to this list.
External resources:
My introductory video of showing how to put things together: http://youtu.be/Yqfk7BOd8J4
A page that descibes what can be done with a working USB Host mode on a Nexus One. Most of them apply to this kernel too, as the Nexus One doesn't give power to the device as well: http://sven.killig.de/android/N1/2.2/usb_host/
A page describing how you can connect an XBOX controller to the phone: http://forum.xda-developers.com/showthread.php?t=1466958
Wow!. :O .
I'm frozen with excitement. DSLR Controller , Ext. HDD's . Uses are endless. .
@sztupy,
Few questions, Can you point me towards a working OTG cable for i9000?
sztupy = Champion
Sztupy of t he omnia kitchen? :-o what a nice surprise
thanks mate nice to meet again
ngenhit said:
Wow!. :O .
I'm frozen with excitement. DSLR Controller , Ext. HDD's . Uses are endless. .
@sztupy,
Few questions, Can you point me towards a working OTG cable for i9000?
Click to expand...
Click to collapse
I don't know. I bought a nokia cable back then, thinking it will be good. It was expensive and didn't even fit. After some polishing it did work fine though (it is recognized as a proper otg cable, it doesn't fall out, etc.)
Now this looks epic.
Great job mate!
Great work!
My vote goes for adding Glitch Kernel
Wooow! Awesome! Thanks dude
www(dot)amazon(dot)com/Micro-USB-Host-Cable-accommodating/dp/B005GGBYJ4/ref=zg_bs_464394_32
(sorry cannot place URL)
Will this cable work?
--blank---
Long time no see.
Nice to have you back here.
This OTG-cable should be fine (although quite expensive)
http://www.amazon.de/Samsung-Mikro-USB-Adapter-R205U-z-B-Galaxy/dp/B004ULZD7U
The King is back...
Sent from my GT-I9000 using Tapatalk
scheichuwe said:
Long time no see.
Nice to have you back here.
This OTG-cable should be fine (although quite expensive)
http://www.amazon.de/Samsung-Mikro-USB-Adapter-R205U-z-B-Galaxy/dp/B004ULZD7U
Click to expand...
Click to collapse
Just ordered this one:
http://www.ebay.com/itm/160703436578
check it out
Great! I want to find this in next glitch kernel relase!
Wysłane z mojego GT-I9000 za pomocą Tapatalk
sztupy said:
How to connect the things:
Does DSLR Controller work?
I don't know. My Canon 60D gets enumerated so it might work. I do not own DSLR Controller (mainly because I only have a phone that has USB host functionality for 2 days)
Click to expand...
Click to collapse
There is an app for testing and you should be able to also test the full app for 15 minutes (enough for a quick plugin and functionality test...).
Nice work! Have you talked to Team Hacksung if they would include it in the default kernel? (with or without the app)
Windows Phone 7 USB Video
-------------------------
Released by: XDA Dev Team
-------------------------
With the software in this release it is possible to add functionality to a custom ROM that allows to switch the USB-port of a Windows Phone 7 device to Video Out and back to normal Zune sync. The desktop software can be used to display the video of Windows Phone 7 device on a PC. This also works for XNA software, so this allows to make full-size screen-captures of games too, by pressing "Prnt Scrn" while showing the video output on a PC. The desktop-software can also be used for demonstrations and presentations of Windows Phone 7 content.
Note:
When connected to the PC in Video Out mode you CAN'T sync any content to the phone or push apps to the phone. It will not show up in the Zune Client when in Video Out mode and you will NOT get Internet connection pass through either. An automatic reboot is required after every time you switch the phone from Video to Default mode or vice-versa.
Note:
The app that switches USB to Video Out on the phone also changes a registry setting that will slowdown the refresh-rate on the phone. That setting is restored when the USB profile is restored. If the setting would be left as it is by default, the USB traffic will be overloaded, which will result in much more lag, than a lowered refresh-rate. So, when the device is rebooted after changing USB to Video Out, be prepared to get a less smooth experience on the device. After changing USB back to normal, the device will respond as usual.
Requirements to show USB Video out on a PC
WP7 USB Video Out.rar https://hotfile.com/dl/169342947/0b8b7e7/WP7_USB_Video_Out.rar.html
Proper drivers on your phone.
HTC phones need a patched Qualcomm driver, because HTC has prevented the Video Out driver from running. The patched driver for 1st generation HTC's and for 2nd genration HTC's are included in this release. This patched driver needs to be added to the custom ROM.
Client Application on your PC.
Custom USB Driver manually installed on your PC (only tested on x86).
A High Speed USB Cable. Do not use over 10' cable or a USB extension cable. Extenders, even powered ones won't work. You must be directly connected to the PC with your 10' or shorter USB Cable.
Specifically for USB Micro we have only found this cable to work and thankfully it is very inexpensive. Use of any other USB Micro cable longer than 3 feet is not recommended and will most likely lead to demo failure.
Disable your PC's screen timeout. No Screensaver, etc.
Note:
The desktop drivers are not signed. That means that there will be issues running this on Windows x64. The get this running read instructions from Solution 2 here:
http://www.techspot.com/community/t...signed-drivers-in-windows-vista-7-x64.127187/
Cooking
Put "PkgSetting_USB2VIDEO" in your kitchen.
Put "PkgSetting_USB2VIDEO_HTCDriverfix_1stGen" only in your kitchen for 1stGen HTC.
Put "PkgSetting_USB2VIDEO_HTCDriverfix_2ndGen" only in your kitchen for 2ndGen HTC.
Enabling USB video out on the phone (ON THE PHONE)
From Start Menu swipe over to the application list and run "USB Video Out"
Answer Yes to enable USB Video out. This is a toggle.
When the phone boots up it is in Zune Mode which enables it to sync data with Zune Client software on the PC. You will need to toggle this to Video mode using the above steps to get video out.
Note: Toggling between Zune mode and Video mode requires the phone to reboot each time.
Setting up driver on the desktop (one time)
Make sure Zune is not running.
Your Phone must be flashed with a ROM that has video out bits on it, they must be enabled, and the phone must be on and plugged into your PC to continue. When the phone boots up the default setting is OFF for the video output.
Start -> Right click on Computer, select Manage
In "Computer Management" click on the Device Manager
Under "Other Devices"
Within the list of drivers Right Click on WM7VIDSTREAM driver, select "Update Driver Software..."
Choose Browse and point Windows to appropriate driver folder.
Approve the Unsigned Driver installation.
Starting application
Launch VidStream.exe.
This application does support disconnect & reconnecting of the phone's USB cable.
If a previous instance of VidStream.exe was running with the device connected, you will need to simply unplug and replug the phone's USB cable.
Press ESC to exit the PC Client application.
Re-enabling MTPz USB sync (Zune Mode)
Open "USB Video Out"
Answer Yes to enable MTPz
The device will reboot to make the changes effective.
We did it! :laugh: :highfive:
Hats off to my buddies from XDA Dev Team!
:victory: enjoy
HD2Owner said:
:victory: enjoy
Click to expand...
Click to collapse
Already
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Thx, Good job:good:
Thanks
Good job, pals!
This is awesome. Thank you guys!
Can i rename "qualcomm_usbfn.dll" and modify my registry.For have the old driver if it do not works on HTC Titan?
Thank you very much my friend :good:
What's about nokia drivers? Me need to patch it, or not?
This major breakthrough should be highlighted in XDA News Portal. I really don't understand why not. Well...
Sent from my HD7 T9292 using Board Express
Nice ! This is awsome... Congrads on this great find !
Questions...
1. I'm running a custom rom currently, is it possable to add this with out rebuilding a rom and re-flashing ?
2. Is it possable to use a HTC (touch pro/TP2) Video out cable (with an adapter to make it to Mini USB)to connect to a TV or projector with this ?
nice job!!
Thanks for your hardworking
titi66200 said:
Can i rename "qualcomm_usbfn.dll" and modify my registry.For have the old driver if it do not works on HTC Titan?
Click to expand...
Click to collapse
Better not to play tricks with modules running in kernel space. Besides qualcomm_usbfn.dll is not somehow "horribly modified" - just missing functionality is enabled.
It works on Titan.
DavidinCT said:
...Questions...
Click to expand...
Click to collapse
Answers:
1. No
2. No
I hope Titan chef's include this in their next rom
Lumia 710 work fine!Thank you very much!:angel:
@AndrewSh
Thanks
edit
HTC HD2 work fine!
Hi Guys,
I've created GUI app to easily sideload your apks to the Nvidia Shield TV via USB or over the Network. I will be updating it over time with extra bells and whistles.
The link below will direct you to the download page where you will find the app.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Mod edit: download links removed (PPC links are not allowed).
1. Unzip the folders to "C:\NSTV"
2. Launch app "Nvidia Shield TV Utility App.exe"
Confirmed working on Win7, Win8 and Win10
Feel free to ask any question's, post any comments or concerns, or make suggestions for things you might like to see
Donation's are never expected, and always appreciated.
Changelog v0.11
Updated - SPMC 1-Click latest stable release to version 16.4.2
BugFix - Fixed download bug with SPMC referencing KODI
Changelog v0.10
Updated - Kodi 1-Click latest stable release to version 16.1
Updated - SPMC 1-Click latest stable release to version 16.4
Changelog v0.09
Updated - Kodi 1-Click lastest stable release to version 16.0
Added - SPMC 16.2.0 to 1-Click download and install
Added - SPMC 16.x Data Backup
Added - SPMC 16.x Data Restore
Added - SPMC 16.x Delete temp files
Added - SPMC 16.x Custom Splashscreen Install/Remove
Changelog v0.08
Removed - As of OTA2.0 We no longer need ADB over Network.This can be enabled on the device under developer mode on your NSTV
Bugfix - Uninstall button disappearing fixed
Updated - Kodi 1-Click lastest stable release to version 15.2
Added - Now can select multiple apk files to install all at once
Tweak - Code cleanup
Changelog v0.07
Updated - Kodi 1-Click lastest stable release to version 15.1.1
Updated - Now able to Sideload\Install\Delete file in File Path with spaces
Changelog v0.06
Added - 1-Click Download and install latest stable Kodi 15.x
Tweaked - Code cleaned up
Tweaked - ADB over network
Changelog v0.05
Tweaked - ADB over network
Tweaked - Recorded Video transfer
Added - Record Video to Internal or External SDCard
Downgraded - ADB drivers to version 1.0.31 as seems more stable and less device offline errors
Fixed - A few more old code ref to c:\FTV\ which was causing app to crash... Hopefully all bug now squashed
Updated - Virtual Keyboard Input image
Changelog v0.04
Updated - Connected status tip update to advise its a guide only not to be relied upon as ADB app does not provide live connection status.
Added - Push OBB folder to /SDCard/Android/OBB/ (Place the OBB folder you wish to push in "C:\NSTV\Apps\OBB_Folder")
Changelog v0.03
Added - Check for valid file and path when installing 3rd party apk apps (User will be informed of any whitespace in file path)
Added - Reboot into Bootloader to access Fast Boot (Make sure you are connected via USB cable)
Added - Reboot (Shutdown and Restart)
Fixed - Details popup now shows connection status from NVidia Shield TV
Updated - App XDA Developers URL now that we have a dedicated forum page
Updated - Removed Generic ADB USB drivers and added NVidia official ADB USB drivers with installation instructions
Updated - Renamed some missed reference from AFTV to NSTV
Changelog v0.02
Fixed - Cleaned up all previous reference links from Amazon FTV to NVidia STV
Fixed - Check for update
Added - Video capture
Added - Power On or Standby toggle button
Updated - GUI Logo and tweaked colours
Tidy - Cleanup of coding
Changelog v0.01
Initial release
At the request of many of my supporters I have ported my Amazon FireTV Utility App for the Nvidia Shield TV.
You might come across some links in the app referring back to Amazon FireTV Utility which will be cleaned up in the next release.
Thanks man.
Loos good.
Awesome. Thank you!
Sent from my HTC6525LVW using Tapatalk
Changelog v0.02
Fixed - Cleaned up all previous reference links from Amazon FTV to NVidia STV
Fixed - Check for update
Added - Video capture
Added - Power On or Standby toggle button
Updated - GUI Logo and tweaked colours
Tidy - Cleanup of coding
This may be a dumb question, but I can't seem to get the windows adb drivers installed. I was trying to update drivers for "Shield Android TV" and get the message "the folder you specify doesn't contain a compatible software driver for your device. If the folder contains a driver, make sure it is designed to work with windows for x64 based systems"
I'm not coming up with any unknown devices or any devices with an exclamation point in device manager.
Sent from my HTC6525LVW using Tapatalk
What is the benefit of this over just putting the apps onto a USB drive?
alwaysbless said:
What is the benefit of this over just putting the apps onto a USB drive?
Click to expand...
Click to collapse
Download and have a play. Hopefully will answer your own question
Its more than just an app sideloader from the comfort of your chair. It has many additional functions and will grow over time.
Currently to get you started:
Sideload apps directly from PC without having to transfer to USB.
Uninstall apps remotely from PC
Extract apk files remotely from PC
Take Screenshots and transfer to PC directly
Take Video and transfer to PC directly
Turn On or put device to Sleep from PC
Customise your Kodi
Backup and restore your Kodi settings
Virtual Keyboard and remote from PC
Update - I got the ADB drivers installed. I downloaded then from nvidia. Google "SHIELD Family Windows USB Driver" and it's the 3rd result down. Update - I got the ADB drivers installed. I downloaded then from nvidia. Google "SHIELD Family Windows USB Driver" and it's the 3rd result down. /gameworksdownload
Do you have to use adb with this app or do you use it just to help sideload a apk via a usb cable to the NVS console tv?
lartomar2002 said:
Do you have to use adb with this app or do you use it just to help sideload a apk via a usb cable to the NVS console tv?
Click to expand...
Click to collapse
You need the ADB USB Windows drivers installed on your PC if you want to connect via the cable.
Until NVidia decides to turn ADB over Network you will manually need to do this with a USB cable so you can run the app over your network without a USB cable attached.
JohnHenryIron said:
Update - I got the ADB drivers installed. I downloaded then from nvidia. Google "SHIELD Family Windows USB Driver" and it's the 3rd result down. Update - I got the ADB drivers installed. I downloaded then from nvidia. Google "SHIELD Family Windows USB Driver" and it's the 3rd result down. /gameworksdownload
Click to expand...
Click to collapse
Thanks for that. I added the generic Drivers in my app that work fine, but good to know they have their own.
Would be good to find a user guide somewhere how to download and install them on the PC.... I've been asked a few times but can't find the time... I will try and do a nice user giude when I can.
That would be very nice and helpful.
thanks
Changelog v0.03
Added - Check for valid file and path when installing 3rd party apk apps (User will be informed of any whitespace in file path)
Added - Reboot into Bootloader to access Fast Boot (Make sure you are connected via USB cable)
Added - Reboot (Shutdown and Restart)
Fixed - Details popup now shows connection status from NVidia Shield TV
Updated - App XDA Developers URL now that we have a dedicated forum page
Updated - Removed Generic ADB USB drivers and added NVidia official ADB USB drivers with installation instructions
Updated - Renamed some missed reference from AFTV to NSTV
No able to open URL.. Pls share direct link if possible.
cant connect
I keep getting error device not found but it says its connected over ip
xxademasoulxx said:
I keep getting error device not found but it says its connected over ip
Click to expand...
Click to collapse
Hi its currently only a guide on which box your requested to connect to... ADB is limited on what it reports back when it connects. I am working on a solution.
If you click on the connected status at the bottom it will popup a box with the current status
or
If you select "Normal debug mode" in settings then click "Connect via IP" from "File" menu. A cmd window will open and report of any issues if not connected.
This looks like an awesome tool for the Shield Tv. I'll definitely check it out once my shield arrives later today. I see you have a Kodi configuration section in the tool, and I was wondering if it would be possible to add this feature in to change the Kodi data directory. I can see this being very useful for owners of the 16GB model.
Also for reference they are discussing this is the Kodi forum here
bb12489 said:
This looks like an awesome tool for the Shield Tv. I'll definitely check it out once my shield arrives later today. I see you have a Kodi configuration section in the tool, and I was wondering if it would be possible to add this feature in to change the Kodi data directory. I can see this being very useful for owners of the 16GB model.
Also for reference they are discussing this is the Kodi forum here
Click to expand...
Click to collapse
I will check it out thanks for the feedback
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Actually, it is far more easier to boot Windows RT 8.1 PE on Dragonboard 410c compared to Lumia 520. DB410c is shipped without RPMB provisioned, Secure Boot is off, no Secure Boot keys are provisioned, nor Secure Boot Policy, and almost all UEFI settings are accessible. You need to patch nothing with Windows kernel itself on DB410c.
1. Some preparation
Flash Windows 10 IoT to have UEFI. Access Microsoft's IoT page for details.
On the back of the board, switch USB HOST to on, other switches remain OFF.
In BDS menu, switch Secure Boot off. (It should shipped with Secure Boot off)
2. Windows RT installation disk prepartion
Extract HalExtQCTimer.dll and HalExtQCWdogTimer.dll from Lumia 640XL firmware. Other Windows Phone 8.1 devices with Snapdragon 400/410/801 should work too (not S4, Qualcomm changed hardware design), but I have not tested yet.
PS. If anyone have LG Lancet Windows Phone 8.1 firmware, that's better. Reply or PM me for more if you have one.
Inject HAL extensions:
Mount boot.wim index #1.
Put the two files metioned before to \Windows\System32.
Mount \Windows\system32\config\SYSTEM registry, import HAL extension configuration, like this:
Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\WinRTSYSTEM\ControlSet001\Control\OSExtensionDatabase]
[HKEY_LOCAL_MACHINE\WinRTSYSTEM\ControlSet001\Control\OSExtensionDatabase\VEN_QCOM&DEV_100A]
"HalExtension"="\SystemRoot\System32\HalExtQCTimer.dll"
[HKEY_LOCAL_MACHINE\WinRTSYSTEM\ControlSet001\Control\OSExtensionDatabase\VEN_QCOM&DEV_100B]
"HalExtension"="\SystemRoot\System32\HalExtQCWdogTimer.dll"
Repeat the operation for boot.wim image #2. Commit changes and unmount boot.wim
I haven't modified install.wim yet. You still need to inject these HAL extensions if you want to install it.
Copy files to a USB key. Modify BCD configuration:
You need boot param passed to kernel:
/REDIRECT /NOVGA /TESTSIGNING
Replace bootmgr.efi, bootarm.efi, bootmgfw.efi with Windows 10 IoT's. I am not sure whether original version will work.
3. Boot
DO NOT BOOT IT FROM UEFI SHELL. I believe there's a bug in Qualcomm's firmware. If you boot any Windows OS in UEFI shell, bootmgfw.efi will work fine, but HAL initialization will certainly fail with error code 0x5c, even Windows 10 IoT. I don't why yet.
Insert USB key to Dragonboard, plug in power supply, press Volume- button until your USB key's LED light indicates there is I/O operation.
It should boot. Ignore the other two options in the picture. I am testing HAL extensions with them.
4. Issues
No drivers are injected yet. I need to inject drivers in order to make USB and other devices work. I will try that after my final test. I think LG Lancet Windows Phone 8.1 firmware is the best driver source for DB410c as they MSM8916 and APQ8016 are similar.
I am not sure if Windows RT's kernel will accept a Windows Phone signed HAL extension without TESTSIGNING option. They have the same Root Certificate though in Windows RT 8.1/Windows Phone 8.1.
DB410c has only 8GB eMMC, if you want to install it on board, storage space will be a problem.
DO NOT BOOT IT FROM UEFI SHELL. I believe there's a bug in Qualcomm's firmware. If you boot any Windows OS in UEFI shell, bootmgfw.efi will work fine, but HAL initialization will certainly fail with error code 0x5c, even Windows 10 IoT. I don't why yet.
You can download FFU file for LG Lancet with WP 8.10.15148.160 here: http://cellomania.com/ffu/product_codes/VW820.html
Here is the list of all the files from Qualcomm packages contained in the LG Lancet ROM.
All files under "\Windows\Packages" are GZipped. Also *.rga files are REG files.
Edit: Edited the attachment to group files by package.
Ok, here is the list of all the packages (sorted alphabetically) with their files.
I discovered that 2 files (MainOS\Windows\Packages\RegistryFilesLGE.BASE.Phone.MainOS.reg & MainOS\Windows\Packages\RegistryFiles\LGE.BASE.Variant.MainOS.reg) contained registry entries for other packages so I made a small script to extract them (you will find them in the attached reg.zip file) and to link them back with their corresponding package.
So, in the packages.txt file, if a reg file has no path, it means you will find it in the reg.zip file
The Windows.zip file contains all the files from MainOS\Windows\Packages ready to be read (no more gzipped).
Hope it helps you
TristanLeBoss said:
Ok, here is the list of all the packages (sorted alphabetically) with their files.
I discovered that 2 files (MainOS\Windows\Packages\RegistryFilesLGE.BASE.Phone.MainOS.reg & MainOS\Windows\Packages\RegistryFiles\LGE.BASE.Variant.MainOS.reg) contained registry entries for other packages so I made a small script to extract them (you will find them in the attached reg.zip file) and to link them back with their corresponding package.
So, in the packages.txt file, if a reg file has no path, it means you will find it in the reg.zip file
The Windows.zip file contains all the files from MainOS\Windows\Packages ready to be read (no more gzipped).
Hope it helps you
Click to expand...
Click to collapse
Much thanks. The major issue now is, Dragonboard uses a Chipidea dual-role USB controller, which might not have propitiate driver support on Windows 8.1. I checked LG Lancet, its USB directly connects to Chipidea USB controller(not dual role). Since they both use 8x16, I believe there is someway to switch it.
imbushuo said:
Much thanks. The major issue now is, Dragonboard uses a Chipidea dual-role USB controller, which might not have propitiate driver support on Windows 8.1. I checked LG Lancet, its USB directly connects to Chipidea USB controller(not dual role). Since they both use 8x16, I believe there is someway to switch it.
Click to expand...
Click to collapse
More phones which use MSM8916 SoC:
- Mouse Computer MADOSMA Q501: http://www.mouse-jp.co.jp/phone/madosma/
- Blu X150Q Win HD LTE Dual SIM
- Blu X130Q Win Jr LTE Dual SIM
- KAZAM Thunder 450WL LTE
Unfortunately, none of them seems to have USB OTG.
---------- Post added at 04:09 AM ---------- Previous post was at 03:58 AM ----------
Btw, did you find out which package from the LG controls USB?
Also, do you have a VID/PID (or any type of applicable identifier) for the USB controller?
You may want to try the Windows 10 drivers... I don't think the BSP offered by Qualcomm is different if you use Windows Mobile 8.10 or 10 (When a phone is upgraded from 8.1 to 10, the drivers are not updated). The inf file may not be working but the sys/dll may work. It's worth the try.
TristanLeBoss said:
More phones which use MSM8916 SoC:
- Mouse Computer MADOSMA Q501: http://www.mouse-jp.co.jp/phone/madosma/
- Blu X150Q Win HD LTE Dual SIM
- Blu X130Q Win Jr LTE Dual SIM
- KAZAM Thunder 450WL LTE
Unfortunately, none of them seems to have USB OTG.
---------- Post added at 04:09 AM ---------- Previous post was at 03:58 AM ----------
Btw, did you find out which package from the LG controls USB?
Also, do you have a VID/PID (or any type of applicable identifier) for the USB controller?
You may want to try the Windows 10 drivers... I don't think the BSP offered by Qualcomm is different if you use Windows Mobile 8.10 or 10 (When a phone is upgraded from 8.1 to 10, the drivers are not updated). The inf file may not be working but the sys/dll may work. It's worth the try.
Click to expand...
Click to collapse
Yeah, their ACPI tree structure is:
- USB Controller
-- USBFn extensions #1
-- USBFn extensions #2
-- ....
I am installing Ubuntu to see how it deals with 410c.
imbushuo said:
Yeah, their ACPI tree structure is:
- USB Controller
-- USBFn extensions #1
-- USBFn extensions #2
-- ....
I am installing Ubuntu to see how it deals with 410c.
Click to expand...
Click to collapse
More info page 10 and 12 of this PDF: http://static.chip1stop.com/pdf/liblary/ARRD/dragonboard_hardwaremanual_v4.1.pdf
You may want to try Windows 10 IoT USB drivers with Windows 8.1 RT... they may work.
Linux support was added in 2015: https://lkml.org/lkml/2015/7/8/702
TristanLeBoss said:
More phones which use MSM8916 SoC:
- Mouse Computer MADOSMA Q501: http://www.mouse-jp.co.jp/phone/madosma/
- Blu X150Q Win HD LTE Dual SIM
- Blu X130Q Win Jr LTE Dual SIM
- KAZAM Thunder 450WL LTE
Unfortunately, none of them seems to have USB OTG.
---------- Post added at 04:09 AM ---------- Previous post was at 03:58 AM ----------
Btw, did you find out which package from the LG controls USB?
Also, do you have a VID/PID (or any type of applicable identifier) for the USB controller?
You may want to try the Windows 10 drivers... I don't think the BSP offered by Qualcomm is different if you use Windows Mobile 8.10 or 10 (When a phone is upgraded from 8.1 to 10, the drivers are not updated). The inf file may not be working but the sys/dll may work. It's worth the try.
Click to expand...
Click to collapse
I didn't find which package, but the ID is ACPI\QCOM2488, it is a USBFN device, located in \\_SB.UFN1 (in dsdt), while DB410c has \\_SB.URS0.USB0 and \\_SB.URS0.UFN0.
imbushuo said:
I didn't find which package, but the ID is ACPI\QCOM2488, it is a USBFN device, located in \\_SB.UFN1 (in dsdt), while DB410c has \\_SB.URS0.USB0 and \\_SB.URS0.UFN0.
Click to expand...
Click to collapse
Ok, if I understand, for LG Lancet :
ACPI\QCOM2488
-> \\_SB.UFN1
For 410c:
ACPI\QCOM2488
-> \\_SB.URS0.USB0
-> \\_SB.URS0.UFN0
If you look at the packages.txt file, there is a package named "Microsoft.Drivers.UfxChipIdea" and one named "Microsoft.Drivers.UsbFnChipIdea". It seems they hold the driver for the Chipidea chip. I don't know if they support OTG but you should try.
I attached a small packages_usb.txt with updated packages files for the USB packages and new reg files for those packages (which were inside Microsoft.MainOS.Production.reg).
These drivers are also part of Windows 10 so maybe the one from Windows 10 IoT are backward compatible?
I am wondering if the OTG support is built inside these drivers, part of another driver or part of the OS?
https://msdn.microsoft.com/en-us/library/windows/hardware/dn957036(v=vs.85).aspx
"The Microsoft USB Role Switch (URS) driver allows a system implementer to take advantage of the dual-role USB capability of their platform."
"These drivers are provided by Microsoft as in-box drivers. Chipidea High-Speed USB OTG Controller. Inbox INF: UrsChipidea.inf."
"URS0 is the ACPI definition for the USB dual-role controller. This is the ACPI device on which the URS driver will load.
USB0 and UFN0 are child devices inside the scope of URS0. USB0 and UFN0 represent the two child stacks that will be enumerated by the URS driver, and the host and function stacks respectively. Note that _ADR is the means by which ACPI matches these device definitions with the device objects that the URS driver creates."
"On a system that has a USB micro-AB connector, the driver makes use of hardware interrupts that indicates the state of the ID pin on the connector. This pin is used to detect whether the controller needs to assume the host role or the function role in a connection."
"Driver installation packages:
If you're an IHV or an OEM and you're thinking of providing your own driver package, here are some things to consider:
-> URS driver package
It is expected that the Hardware ID for the dual-role controller on each platform will be added to the inbox INF for URS. However, if for some reason the ID cannot be added, the IHV/OEM may provide a driver package with an INF that Needs/Includes the inbox INF and matches their Hardware ID.
This is necessary in the case where the IHV/OEM requires a filter driver to be present in the driver stack.
-> Host driver package.
An IHV/OEM-provided driver package that Needs/Includes the inbox usbxhci.inf and matches the host device Hardware ID is required. The Hardware ID match would be based on the scheme described in the preceding section.
This is necessary in the case where the IHV/OEM requires a filter driver to be present in the driver stack.
There is work in progress to make URS driver assign the XHCI Compatible ID for the host device.
-> Function driver package
An IHV/OEM-provided driver package that Needs/Includes the inbox Ufxsynopsys.inf and matches the peripheral device Hardware ID is required. The Hardware ID match would be based on the scheme described in the preceding section.
The IHV/OEM can also include a filter driver in the driver package."
This page is for WIndows 10 and it's not sure that Windows 8.1 supported dual-role drivers... because I found nothing on Google.
TristanLeBoss said:
Ok, if I understand, for LG Lancet :
ACPI\QCOM2488
-> \\_SB.UFN1
For 410c:
ACPI\QCOM2488
-> \\_SB.URS0.USB0
-> \\_SB.URS0.UFN0
If you look at the packages.txt file, there is a package named "Microsoft.Drivers.UfxChipIdea" and one named "Microsoft.Drivers.UsbFnChipIdea". It seems they hold the driver for the Chipidea chip. I don't know if they support OTG but you should try.
I attached a small packages_usb.txt with updated packages files for the USB packages and new reg files for those packages (which were inside Microsoft.MainOS.Production.reg).
These drivers are also part of Windows 10 so maybe the one from Windows 10 IoT are backward compatible?
I am wondering if the OTG support is built inside these drivers, part of another driver or part of the OS?
Click to expand...
Click to collapse
I don't think it has built-in support. I checked MSDN, USB role switch is a new feature introduced in Windows 10. And these USBFn drivers are used for USB device support, not USB host support.
Another Windows Embedded 8.1 Handheld device, Panasonic FZ-E1, has built-in USB OTG support in 8.1. I don't know how Panasonic implemented that yet.
imbushuo said:
I don't think it has built-in support. I checked MSDN, USB role switch is a new feature introduced in Windows 10. And these USBFn drivers are used for USB device support, not USB host support.
Another Windows Embedded 8.1 Handheld device, Panasonic FZ-E1, has built-in USB OTG support in 8.1. I don't know how Panasonic implemented that yet.
Click to expand...
Click to collapse
There is also an app which claims OTG support on Windows Phone 8.1: https://www.microsoft.com/fr-fr/store/apps/ninko-wp/9wzdncrdg98s
I have no Windows Phone so I can't poke inside... (I have the XAP file but it's encrypted and the only way to decrypt it is to install it on a WIndows Phone device).
---------- Post added at 06:11 PM ---------- Previous post was at 06:06 PM ----------
https://blogs.msdn.microsoft.com/wi...manufacturing-sdk-is-now-generally-available/
"What is new in Windows Embedded 8.1 Handheld?" "Support for USB Host"
So, it seems USB OTG is part of the Embedded version. We just need to hunt for a rom
---------- Post added at 06:16 PM ---------- Previous post was at 06:11 PM ----------
https://blogs.msdn.microsoft.com/ms...xperience-with-windows-embedded-handheld-8-1/
"Right now Microsoft is working with 5 OEMs that are bringing awesome devices like the Pidion one, those OEMs right now are:
Ingenico
Panasonic
Motorola
Intermec
Bluebird"
Did you find a ROM with Windows Embedded 8.1 Handheld? I searched but found nothing. You may want to ask in this forum if someone as one...
The only thing I found is the WE8.1H SDK which contains an emulator image (ffu). Unfortunately, like all the official emulators (Hololens, Windows Phone, Windows Phone), it's an x86 compilation of WE8.1H but it can help understand: only the files can't be used on an ARM devices.
https://www.microsoft.com/en-us/download/details.aspx?id=43677
TristanLeBoss said:
Did you find a ROM with Windows Embedded 8.1 Handheld? I searched but found nothing. You may want to ask in this forum if someone as one...
The only thing I found is the WE8.1H SDK which contains an emulator image (ffu). Unfortunately, like all the official emulators (Hololens, Windows Phone, Windows Phone), it's an x86 compilation of WE8.1H but it can help understand: only the files can't be used on an ARM devices.
https://www.microsoft.com/en-us/download/details.aspx?id=43677
Click to expand...
Click to collapse
Just contacted someone who owned a Panasonic FZ-E1. This device has two USB channels, one for USB device and another for USB host. This explains why it supports USB host mode in Windows Embedded 8.1 Handheld.
For the app, it said it used something not related to USB OTG.
I think you should have to add intermediate certificate to the store.
One is Microsoft Windows Phone Production 2012 for WP8.1 & Before.
Another is Microsoft Windows Mobile 2014 for W10M and later. That would be amazing. Universal ROM lol
imbushuo said:
Actually, it is far more easier to boot Windows RT 8.1 PE on Dragonboard 410c compared to Lumia 520. DB410c is shipped without RPMB provisioned, Secure Boot is off, no Secure Boot keys are provisioned, nor Secure Boot Policy, and almost all UEFI settings are accessible. You need to patch nothing with Windows kernel itself on DB410c.
1. Some preparation
Flash Windows 10 IoT to have UEFI. Access Microsoft's IoT page for details.
On the back of the board, switch USB HOST to on, other switches remain OFF.
In BDS menu, switch Secure Boot off. (It should shipped with Secure Boot off)
2. Windows RT installation disk prepartion
Extract HalExtQCTimer.dll and HalExtQCWdogTimer.dll from Lumia 640XL firmware. Other Windows Phone 8.1 devices with Snapdragon 400/410/801 should work too (not S4, Qualcomm changed hardware design), but I have not tested yet.
PS. If anyone have LG Lancet Windows Phone 8.1 firmware, that's better. Reply or PM me for more if you have one.
Inject HAL extensions:
Mount boot.wim index #1.
Put the two files metioned before to \Windows\System32.
Mount \Windows\system32\config\SYSTEM registry, import HAL extension configuration, like this:
Code:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\WinRTSYSTEM\ControlSet001\Control\OSExtensionDatabase]
[HKEY_LOCAL_MACHINE\WinRTSYSTEM\ControlSet001\Control\OSExtensionDatabase\VEN_QCOM&DEV_100A]
"HalExtension"="\SystemRoot\System32\HalExtQCTimer.dll"
[HKEY_LOCAL_MACHINE\WinRTSYSTEM\ControlSet001\Control\OSExtensionDatabase\VEN_QCOM&DEV_100B]
"HalExtension"="\SystemRoot\System32\HalExtQCWdogTimer.dll"
Repeat the operation for boot.wim image #2. Commit changes and unmount boot.wim
I haven't modified install.wim yet. You still need to inject these HAL extensions if you want to install it.
Copy files to a USB key. Modify BCD configuration:
You need boot param passed to kernel:
/REDIRECT /NOVGA /TESTSIGNING
Replace bootmgr.efi, bootarm.efi, bootmgfw.efi with Windows 10 IoT's. I am not sure whether original version will work.
3. Boot
DO NOT BOOT IT FROM UEFI SHELL. I believe there's a bug in Qualcomm's firmware. If you boot any Windows OS in UEFI shell, bootmgfw.efi will work fine, but HAL initialization will certainly fail with error code 0x5c, even Windows 10 IoT. I don't why yet.
Insert USB key to Dragonboard, plug in power supply, press Volume- button until your USB key's LED light indicates there is I/O operation.
It should boot. Ignore the other two options in the picture. I am testing HAL extensions with them.
4. Issues
No drivers are injected yet. I need to inject drivers in order to make USB and other devices work. I will try that after my final test. I think LG Lancet Windows Phone 8.1 firmware is the best driver source for DB410c as they MSM8916 and APQ8016 are similar.
I am not sure if Windows RT's kernel will accept a Windows Phone signed HAL extension without TESTSIGNING option. They have the same Root Certificate though in Windows RT 8.1/Windows Phone 8.1.
DB410c has only 8GB eMMC, if you want to install it on board, storage space will be a problem.
DO NOT BOOT IT FROM UEFI SHELL. I believe there's a bug in Qualcomm's firmware. If you boot any Windows OS in UEFI shell, bootmgfw.efi will work fine, but HAL initialization will certainly fail with error code 0x5c, even Windows 10 IoT. I don't why yet.
Click to expand...
Click to collapse
you don't need a halext to boot RT 8.1 on DB410c.
Here’s my build of LineageOS 18.1 for Raspberry Pi 4 Model B, Pi 400, and Compute Module 4. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build! You can contact me by email to discuss creating customized Android builds for commercial purposes.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
LineageOS 18.1 (Android 11)
for Raspberry Pi 4
konstakang.com
There is also Android TV version available.
LineageOS 18.1 Android TV (Android 11)
for Raspberry Pi 4
konstakang.com
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headphones, etc)
Audio DAC (using GPIO DACs e.g. Hifiberry DAC+)
Bluetooth (and bluetooth tethering)
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (V3D, OpenGL & Vulkan)
HDMI display (and HDMI-CEC)
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Sensors (using external GPIO I2C modules e.g. MPU6050, LSM6DS3, LSM303DLHC, BME280/BMP280, and APDS9930 accelerometer, gyroscope, magnetometer, temperature, pressure, humidity, ambient light, and proximity)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (USB touchscreens, Waveshare SPI touchscreens)
USB (mouse, keyboard, storage, etc)
USB-C (ADB, MTP, PTP, USB tethering)
Wifi (and wifi tethering)
Not working:
Hardware video decoding & encoding (software decoding & encoding works)
Issues:
Stock camera app is not working - many third party camera apps seem to work
SELinux is in permissive mode
and more…
Sources:
kernel
Thanks:
Peter Yoon and android-rpi project
Roman Stratiienko and GloDroid project
AOSP reference board developers (dragonboard, hikey, yukawa)
E. Anholt for V3D graphics driver
Maxime Ripard for Pi 4 KMS driver
Android-x86 project
LineageOS team and everyone who has contributed to LineageOS 18.1
How to install:
Follow the official Raspberry Pi instructions for writing the image to the SD card.
If you’re running a recent build (20220121 or newer) you can also update to newer builds using TWRP flashable OTA packages. OTA updates pushed through the built-in Updater app are stored at /data/lineageos_updates/.
Download lineage-18.1-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-ota.zip and save it to your device’s internal storage or use an external USB drive
Boot to TWRP recovery (see FAQ)
Install lineage-18.1-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-ota.zip from your selected storage
(Flash Magisk/other add-ons you had previously installed)
Boot out of recovery (see FAQ)
Changes that are backed up and restored flashing OTAs:
Device specific settings changed using Settings -> System -> Raspberry Pi settings
Manual changes to /boot/resolution.txt and /boot/rc_keymap.txt
USB boot configuration in /boot/config.txt
GApps
Changes that are not backed up and restored flashing OTAs:
Manual changes to /boot/config.txt (and any other manual changes to /boot partition)
Magisk
FAQ:
FAQ is getting quite long and difficult to maintain in several different places. You can find the always up-to-date FAQs here:
https://konstakang.com/devices/rpi4/LineageOS18/
https://konstakang.com/devices/rpi4/LineageOS18-ATV/
Merged commits not mentioned in the changelog.
12.5. changelog:
also available as OTA package
add support for Compute Module 4
fix DAC audio device selection on CM4 & Pi 400 that don’t have 3.5mm audio jack
fix USB storage (Pi 400 as well?)
add support for the RTC on the I/O board
use OTG mode for USB to support ADB, MTP, PTP, USB tethering on the micro-USB port on the I/O board
update boot firmware for newer Pi 4 hardware revisions
various drm_hwcomposer updates e.g. support for headless mode (thanks to Roman Stratiienko)
automatically set density based on display resolution
add support for APDS9930 ambient light/proximity sensor
update to TWRP 3.6.1_11-1-KonstaKANG
update to Mesa 21.3.8
update to Linux 5.4.191 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 May 2022 (merged)
21.1. 2022 changelog:
fix reboots related to Hotspot 2.0 networks/ANQP requests (see issue #6)
Vulkan 1.1 (thanks to people at Igalia for Vulkan 1.1 conformance and Roman Stratiienko for latest Mesa fixes)
add new options to Raspberry Pi settings (force rotation & CPU governor)
prepare for OTAs
update to TWRP 3.6.0_11-1-KonstaKANG
update to Mesa 21.3.4
update to Linux 5.4.173 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 January 2022 (merged)
23.11. changelog:
add support for BME280/BMP280 temperature/pressure/humidity sensors
add option to select HDMI-CEC device
add option to show virtual volume down, volume up, and power keys on navigation bar
add option for old TCP-based ADB over network
show IP address and port for ADB/SSH/VNC options
fix resizing data partition that broke with previous build
update to TWRP 3.6.0_11-0-KonstaKANG
update to Mesa 21.3.0
update to Linux 5.4.161 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 November 2021 (merged)
26.10. changelog:
switch to 64-bit kernel & userspace
switch to minigbm gbm_mesa and [email protected] API (thanks to Roman Stratiienko)
update to Mesa 21.2.4
update to Linux 5.4.155 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
11.10. changelog:
add support for Vulkan
rework bluetooth (thanks to android-rpi)
update to Mesa 21.1.8
update to Linux 5.4.152 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 1 October 2021 (merged)
20.7. changelog:
switch to using HDMI-CEC HAL
update to Mesa 21.1.5
update to Linux 5.4.132 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 July 2021 (merged)
11.4. changelog:
add initial support for HDMI-CEC
add built-in VNC server
update to Mesa 21.0.2
update to Linux 5.4.111 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 April 2021 (merged)
14.2. changelog:
add support for LSM303DLHC accelerometer & magnetometer sensor
add separate TWRP flashable su add-on (see FAQ)
allow switching display off with power button
add support for USB-C (ADB, MTP, PTP, USB-tethering)
enable bluetooth tethering
add settings option for mouse back button feature
update to TWRP 3.5.0_9-0-KonstaKANG
update to Mesa 20.3.4
update to Linux 5.4.98 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 February 2021 (merged)
4.1. changelog:
initial LineageOS 18.1 build
add support for sensors (LSM6DS3 & MPU6050 accelerometer & gyroscope on I2C)
add support for more serial USB GPS devices
drop support for SwiftShader software renderer which also means dropping support for the official 7” touchscreen for now
update to Mesa 20.3.2
add option to switch between gbm and minigbm gralloc
update to TWRP 3.4.0-2
update to Linux 5.4.86 kernel and patch known vulnerabilities (CVE-xxxx-xxxx, and more)
Android security patch level: 5 December 2020 (merged)
Previous builds:
AndroidFileHost
Will you share an atv variation 18.1?
Thanks for your hard work.
onukomer said:
Will you share an atv variation 18.1?
Thanks for your hard work.
Click to expand...
Click to collapse
What does Android TV 11 offer that is not already available in the latest Android TV builds for the Pi 4 (https://konstakang.com/devices/rpi4/LineageOS17.1-ATV/)? Yeah, I know - big version number, much WOW! But besides that, what's the point?
From user perspective I highly doubt you're going have the slightest clue whether you're running Android TV based on Android 8, 9, 10, or 11 unless you go specifically into the about device settings. Android TV builds are also pretty much useless without installing Google Apps. There's currently hardly any working Android 11 gapps packages available and there's certainly no Android TV gapps for Android 11.
From technical perspective I'm currently not aware of any reason why Android TV 11 builds wouldn't work just as much as before but there's just not going to be much reason for it in a long long time.
KonstaT said:
Here’s my build of LineageOS 18.1 for Raspberry Pi 4 Model B, Pi 400, and Compute Module 4. It is unofficial and unsupported by the LineageOS team. It’s for advanced users only. Pi 4 model with at least 2GB of RAM is required to run this build.
Important! This image includes parts that are licensed under non-commercial license (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). You may use this build freely in personal/educational/etc use. Commercial use is not allowed with this build!
https://konstakang.com/devices/rpi4/LineageOS18/
lineage-18.1-20210104-UNOFFICIAL-KonstaKANG-rpi4.zip
https://www.androidfilehost.com/?fid=17248734326145708986
md5:4775eb4b2a89859ebf4d16dbf306cea2
Working:
Audio (HDMI, 3.5mm jack, USB microphones, bluetooth speakers/headsets, etc)
Audio DAC (using GPIO DACs e.g. Hifiberry DAC+)
Bluetooth
Camera (using official Pi camera modules & UVC USB webcams)
GPIO
GPS (using external USB modules e.g. U-Blox 7)
Ethernet
Hardware accelerated graphics (V3D)
HDMI display
I2C
IR remotes (using external GPIO IR modules e.g. TSOP4838)
RTC (using external GPIO I2C modules e.g. DS3231)
Sensors (using external GPIO I2C modules e.g. LSM6DS3 & MPU6050 accelerometer & gyroscope)
Serial console (using external GPIO serial console adapters e.g. PL2303)
SPI
Touchscreen/multi-touch (USB touchscreens, Waveshare SPI touchscreens)
USB (mouse, keyboard, storage, etc)
Wifi
Wifi tethering
Not working:
Hardware video decoding & encoding (software decoding & encoding works)
Issues:
Stock camera app is not working - many third party camera apps seem to work
SELinux is in permissive mode
and more…
Sources:
kernel
Thanks:
Peter Yoon and everyone who has contributed to android-rpi
Roman Stratiienko and GloDroid project for graphics fixes
brobwind for bluetooth fixes
Eric Anholt for V3D graphics driver
Maxime Ripard for Pi 4 KMS driver
Android-x86 project
LineageOS team & everyone who has contributed to LineageOS 18.1
Click to expand...
Click to collapse
BITGAPPS ARM Android 11
BiTGApps-arm-11.0.0-R19_signed.zip
drive.google.com
Its portability is incredible, everything works fine, but the only problem I'm having is that version 17 and 18 doesn't work with the mouse in the GeForceNow application, the right button just doesn't work. I tested the OMNI Android 11 version and it works perfectly, however it is full of bugs and poorly optimized. Can you fix this for us? Having a Raspberry PI 4 that works GeForce Now is incredibly awesome!
Another suggestion is how to disable the physical keyboard shortcut keys like F1-F5, because when we try to play on GeForce Now they simply close the application, at least give a function to remap the buttons.
dhtm15 said:
Its portability is incredible, everything works fine, but the only problem I'm having is that version 17 and 18 doesn't work with the mouse in the GeForceNow application, the right button just doesn't work. I tested the OMNI Android 11 version and it works perfectly, however it is full of bugs and poorly optimized. Can you fix this for us? Having a Raspberry PI 4 that works GeForce Now is incredibly awesome!
Another suggestion is how to disable the physical keyboard shortcut keys like F1-F5, because when we try to play on GeForce Now they simply close the application, at least give a function to remap the buttons.
Click to expand...
Click to collapse
If it helps md5sum for BiTGApps-arm-11.0.0-R19_signed.zip I've used to test is 299182a2d72b977a04360439ed06db8a. It's of course entirely your decision if you trust a download source you can find. You can find more mirrors e.g. in the BiTGApps XDA thread (https://forum.xda-developers.com/t/custom-gapps-bitgapps-for-android.4012165/).
My recent builds map right mouse button to back key. Are you saying that there's Android apps that actually make a difference between left/right mouse clicks? I could add a setting option for that feature in future releases (that's actually already been on my endless list of TODOs).
You can revert to the default keyboard mappings by removing /vendor/usr/keylayout/Generic.kl (or edit that file to change the keymappings to whatever you want).
KonstaT said:
If it helps md5sum for BiTGApps-arm-11.0.0-R19_signed.zip I've used to test is 299182a2d72b977a04360439ed06db8a. It's of course entirely your decision if you trust a download source you can find. You can find more mirrors e.g. in the BiTGApps XDA thread (https://forum.xda-developers.com/t/custom-gapps-bitgapps-for-android.4012165/).
My recent builds map right mouse button to back key. Are you saying that there's Android apps that actually make a difference between left/right mouse clicks? I could add a setting option for that feature in future releases (that's actually already been on my endless list of TODOs).
You can revert to the default keyboard mappings by removing /vendor/usr/keylayout/Generic.kl (or edit that file to change the keymappings to whatever you want).
Click to expand...
Click to collapse
I think I saw something related to this, that the function of the right mouse button when programmed to return can affect applications that use the right button, this is the case with GeForce Now, which does not recognize the right mouse button in any way, all other buttons are functional. I also tried to see how to remap the keyboard buttons and tried to change these files by adding another one, but it didn't solve the problem, I opened it to edit and I didn't find the F1 function until F5, can you show me where exactly i can edit to remove this?
I found this GApps on the 4PDA forum, I think it's safe because it was a topic dedicated to that.
edit: Correction, I had entered the / root / system / usr / keylayout folder so I hadn't seen the changes.
dhtm15 said:
I think I saw something related to this, that the function of the right mouse button when programmed to return can affect applications that use the right button, this is the case with GeForce Now, which does not recognize the right mouse button in any way, all other buttons are functional. I also tried to see how to remap the keyboard buttons and tried to change these files by adding another one, but it didn't solve the problem, I opened it to edit and I didn't find the F1 function until F5, can you show me where exactly i can edit to remove this?
I found this GApps on the 4PDA forum, I think it's safe because it was a topic dedicated to that.
edit: Correction, I had entered the / root / system / usr / keylayout folder so I hadn't seen the changes.
Click to expand...
Click to collapse
Yeah, I checked the md5sum and it's the same what I have for the file I downloaded about a month ago.
I uploaded a TWRP flashable patch that will restore the default mouse button behavior and adds an option to Settings -> System -> Advanced settings to enable back key on right mouse click.
Edit. removed, not needed with latest builds anymore.
Deleting custom Generic.kl from vendor partition will use the default unmodified one from system partition. These are the changes that have been made https://github.com/lineage-rpi/andr...001-rpi3-modify-generic-keyboard-layout.patch
Hello, I try to use this great rom (and others) since 3 days with my PI4 , and "Location" (with waze and maps) never works instead of version 17.
Someone knows why ?
Thank you
Enable root access, was a switch under developer options in 17.1 nowhere to be found in 18.1. Tried flashing a SU from TWRP, nothing shows up. Am I missing something here?
myspac said:
Hello, I try to use this great rom (and others) since 3 days with my PI4 , and "Location" (with waze and maps) never works instead of version 17.
Someone knows why ?
Thank you
Click to expand...
Click to collapse
You would need to be a bit more specific. Are you using actual GPS hardware or do mean e.g. Google network location (which depends on gapps being installed)?
williamparker said:
Enable root access, was a switch under developer options in 17.1 nowhere to be found in 18.1. Tried flashing a SU from TWRP, nothing shows up. Am I missing something here?
Click to expand...
Click to collapse
Please read the FAQ on how to have root access. It's still under consideration if I'm going to bring back built-in su because there's no specific need for it anymore.
Thank you for your answers !
KonstaT said:
You would need to be a bit more specific. Are you using actual GPS hardware or do mean e.g. Google network location (which depends on gapps being installed)?
Click to expand...
Click to collapse
Oh.. yes, I mean Google network location; so , the problem is on gapps: Ok, thank you. I use : open_gapps-arm-11.0-nano-20210104-UNOFFICIAL_TEST.zip, it was ok with open_gapps-arm-10.0-pico-20201223.zip and your "17 version". I m trying other rom (OMNI) with other gapps and I had the same specific problem: that's why I think it was a "18 rom" 's problem...
KonstaT said:
Please read the FAQ on how to have root access. It's still under consideration if I'm going to bring back built-in su because there's no specific need for it anymore.
Click to expand...
Click to collapse
I have and need root access, but it was ok with the FAQ.
Hello,
In Linphone, Bria, ... I can't use my USB microphone (no recorded sound), but it works well in a voice recorder application.
It is also not possible to choose a ringtone.
Do you have an idea about the microphone problem?
Thank you for your work
KonstaT said:
You would need to be a bit more specific. Are you using actual GPS hardware or do mean e.g. Google network location (which depends on gapps being installed)?
Please read the FAQ on how to have root access. It's still under consideration if I'm going to bring back built-in su because there's no specific need for it anymore.
Click to expand...
Click to collapse
Ok, this is my last tests, all without gapps:
- I take your last rom
- connect an hardware gps by bluetooth
- install by adb the app "GPS Bluetooth" to mock the location
- install waze (by adb)
- install maps (by adb)
After:
- MAPs works
- WAZE: my location is ok but the map is not displayed: I didn't know why (if works with your rom 17).
I took an old waze version: and after re set all permission in the app setting AND by Privacy menu (not same permission when I cick on All permission of waze!!!! ???) => it was Ok too, location and map.
I re take last Waze version, but I never success to display map.
In data/wifi usage of the waze app: 0 ko !!!!
I don't understand why some applications (Android Auto too) can't access to network and why permissions are not the same by app's info and by Privacy setting menu. (It was ok with version 17 of your rom).
KonstaT said:
Here’s my build of LineageOS 18.1 for Raspberry Pi 4 Model B, ageOS team & everyone who has contributed to LineageOS 18.1
Click to expand...
Click to collapse
awesome work! i was reading your work and i have a question if you or anyone can chirp in too for ideas.
whats the benefit besides privacy using your build of lineage over raspberrys os?
if it were used offline as storage, but wake on lan when needing access using nextcloud or people recommend nextcloud alternative? also emails nextcloud isnt e2ee, but Tutanota is but i dont think its capable running on nextcloud.
some personal some work so transfering to devices its main purpose is security. maybe running a work chat system e2ee which will also be safer than online apps out there.
TLR: dont want to pay for storage cloud, messaging services online for work when we can do it ourselves and overall safer from uninvited guests
Thanks for this ROM! I understand a lot of stuff here is still experimental, but I look forward to trying this out. I will be getting a 5-inch touch screen next week sometime so I also plan to test performance with it (it's only 800x480, so not driving millions of pixels with the Pi either.) If I had to estimate, the Pi 4 is about as fast as a Galaxy S5 or S6 was, slightly slower than a snapdragon 820. So it's not midrange or high-end, but I think it is more in the upper parts of the low range in terms of raw performance. You can safely boost the clock to 2.2 gHZ, which works well provided you have the thermal cooling to do it without a throttle. I also use a Pi 400. The Pi 400 runs a lot cooler even at the default 1.8, and I have safely pushed it to 2.2. It makes it slightly faster but not a major boost in Android by any means.
If others have had experience getting the USB Type C working on this rom, let me know. I understand it's commented in config.txt, so I plan to uncomment it there and look in /vendor/etc/init/hw/init.rpi4.rc to change it also with my Ubuntu machine. I'm fully blind, so using ADB on this to get talkback working is essential. So far I have used the network boot to do this, installed both an APK for Google TTS and Talkback, got it working just fine after adding values to securesettings. Great news. At least for now, new users wanting ADB access should connect their Pi through ethernet and then connect to ADB over the network, I think this is easiest. I have a USB type C hub here which is powered so I'm able to hook the Pi directly to my computer and do it that way a bit easier than fiddling around in the router for this stuff, and maybe more secure as it is only over USB. But the network way is probably easier for more folks to get going as well. Ups and downs, just as everything to life, right?
I also am wondering if we can get USB ADB over TWRP. This would be a huge win but I will test this and report back on this thread. Again, my only choice is to use openrecovery scripts, not really to find a sighted pair of eyes and ask them to help out reading the TWRP screens. I actually don't have that help available at the moment as my partner and I are both blind. So everything I get to do I have to do in a commandline or speaking way. But I think even despite those odds, this is doable and the disabled need to push ahead in this space anyway if they too want to be tinkerers as it is.
Thanks for working on this and making Lineage accessible to many. It's been yours and other Pi community hardware enthusiasts' effort which got this up and running. I was actually able to get one of the Pi3 builds you posted running with Talkback but at the time I just didn't find the Pi 3 that good for running Android. Certainly not with 1 gig of ram, something the Pi 4 gives us a lot of choice with at least.
Micka41 said:
Hello,
In Linphone, Bria, ... I can't use my USB microphone (no recorded sound), but it works well in a voice recorder application.
It is also not possible to choose a ringtone.
Do you have an idea about the microphone problem?
Thank you for your work
Click to expand...
Click to collapse
It's still very early days for Android 11. Many apps have not yet been updated to support new features it brings. There still could be issues with integration in upstream LineageOS as well (builds are not yet rolling out for officially supported devices so I'm not sure it can be considered feature ready). Gapps are really not ready for Android 11 yet.
There are options that are more feature ready and more thoroughly tested if you're not only after the Android version number.
myspac said:
Ok, this is my last tests, all without gapps:
- I take your last rom
- connect an hardware gps by bluetooth
- install by adb the app "GPS Bluetooth" to mock the location
- install waze (by adb)
- install maps (by adb)
After:
- MAPs works
- WAZE: my location is ok but the map is not displayed: I didn't know why (if works with your rom 17).
I took an old waze version: and after re set all permission in the app setting AND by Privacy menu (not same permission when I cick on All permission of waze!!!! ???) => it was Ok too, location and map.
I re take last Waze version, but I never success to display map.
In data/wifi usage of the waze app: 0 ko !!!!
I don't understand why some applications (Android Auto too) can't access to network and why permissions are not the same by app's info and by Privacy setting menu. (It was ok with version 17 of your rom).
Click to expand...
Click to collapse
It's still very early days for Android 11. Many apps have not yet been updated to support new features it brings. There still could be issues with integration in upstream LineageOS as well (builds are not yet rolling out for officially supported devices so I'm not sure it can be considered feature ready). Gapps are really not ready for Android 11 yet.
There are options that are more feature ready and more thoroughly tested if you're not only after the Android version number.
entwicklun said:
awesome work! i was reading your work and i have a question if you or anyone can chirp in too for ideas.
whats the benefit besides privacy using your build of lineage over raspberrys os?
Click to expand...
Click to collapse
I guess the main benefit is that it's a completely different operating system. It's Android - it runs Android applications.
htc_Tomi said:
Thanks for this ROM! I understand a lot of stuff here is still experimental, but I look forward to trying this out. I will be getting a 5-inch touch screen next week sometime so I also plan to test performance with it (it's only 800x480, so not driving millions of pixels with the Pi either.) If I had to estimate, the Pi 4 is about as fast as a Galaxy S5 or S6 was, slightly slower than a snapdragon 820. So it's not midrange or high-end, but I think it is more in the upper parts of the low range in terms of raw performance. You can safely boost the clock to 2.2 gHZ, which works well provided you have the thermal cooling to do it without a throttle. I also use a Pi 400. The Pi 400 runs a lot cooler even at the default 1.8, and I have safely pushed it to 2.2. It makes it slightly faster but not a major boost in Android by any means.
If others have had experience getting the USB Type C working on this rom, let me know. I understand it's commented in config.txt, so I plan to uncomment it there and look in /vendor/etc/init/hw/init.rpi4.rc to change it also with my Ubuntu machine. I'm fully blind, so using ADB on this to get talkback working is essential. So far I have used the network boot to do this, installed both an APK for Google TTS and Talkback, got it working just fine after adding values to securesettings. Great news. At least for now, new users wanting ADB access should connect their Pi through ethernet and then connect to ADB over the network, I think this is easiest. I have a USB type C hub here which is powered so I'm able to hook the Pi directly to my computer and do it that way a bit easier than fiddling around in the router for this stuff, and maybe more secure as it is only over USB. But the network way is probably easier for more folks to get going as well. Ups and downs, just as everything to life, right?
I also am wondering if we can get USB ADB over TWRP. This would be a huge win but I will test this and report back on this thread. Again, my only choice is to use openrecovery scripts, not really to find a sighted pair of eyes and ask them to help out reading the TWRP screens. I actually don't have that help available at the moment as my partner and I are both blind. So everything I get to do I have to do in a commandline or speaking way. But I think even despite those odds, this is doable and the disabled need to push ahead in this space anyway if they too want to be tinkerers as it is.
Thanks for working on this and making Lineage accessible to many. It's been yours and other Pi community hardware enthusiasts' effort which got this up and running. I was actually able to get one of the Pi3 builds you posted running with Talkback but at the time I just didn't find the Pi 3 that good for running Android. Certainly not with 1 gig of ram, something the Pi 4 gives us a lot of choice with at least.
Click to expand...
Click to collapse
If you/anyone wants to test ADB over USB-C there's two lines you need to uncomment for testing (both LineageOS 17 & 18 should be OK for this).
One line /boot/config.txt under 'USB-C' section:
dtoverlay=dwc2,dr_mode=peripheral
Another one in /vendor/etc/init/hw/init.rpi4.rc:
import /vendor/etc/init/hw/init.rpi4.usb.rc
I don't have any hardware that would provide enough power for the Pi to test this myself. If anyone has recommendations on powered USB-C hubs that are known to work on the Pi 4 for this purpose I'd appreciate that.
My TWRP builds don't support ADB. This is because TWRP has no network support (wifi/ethernet) and I can't test the USB-C for the above reason.
KonstaT said:
If you/anyone wants to test ADB over USB-C there's two lines you need to uncomment for testing (both LineageOS 17 & 18 should be OK for this).
One line /boot/config.txt under 'USB-C' section:
dtoverlay=dwc2,dr_mode=peripheral
Another one in /vendor/etc/init/hw/init.rpi4.rc:
import /vendor/etc/init/hw/init.rpi4.usb.rc
I don't have any hardware that would provide enough power for the Pi to test this myself. If anyone has recommendations on powered USB-C hubs that are known to work on the Pi 4 for this purpose I'd appreciate that.
My TWRP builds don't support ADB. This is because TWRP has no network support (wifi/ethernet) and I can't test the USB-C for the above reason.
Click to expand...
Click to collapse
I can definitely say that uncommenting those lines did get me ADB over the USB type C port. So it does work in this mode successfully. I could then do adb root and at least have some access similar to TWRP minus the flashing and back-ups.
I think the problem with some powered hubs could be the power delivery. I'm not sure if you have a type-C port already on your machine, but it may provide the full 10 GBPS/3A requirement if it's a direct type C port. The 3.0/3.1 gen1 hubs only provide 1.5A of power and 5 GBps, so while the Pi could run on it, you couldn't power any attached devices and would get the reduced lightningbolt symbol performance as well. The powered hubs have dedicated charging ports, but these wire directly to the hub and not the machine, so while providing more power at a cost.
I also tried installing Gapps (BitGapps) for Android 11 but it failed once I signed in with a Google account. Oh well. 32-bit Gapps are also harder to come by anyway. For now I can always sideload apk files which don't rely on the play stuff and use Chrome for browsing. That's a good start.
The reason I need Android 11 is mostly for accessibility. Unlike for sighted folks where lower Android versions don't make an impact on how and what you can use, for the blind, each Android version introduces changes to the accessibility API. This is important as these changes can allow for things like brand new touch gestures (completely different gestures/ swipes and touches in Android 11 with Talkback ) to actual improvements on what the screen reader "sees" in the UI. So no, I'm not doing this to just have the version number myself, but to benefit from the latest changes to Android's accessibility API. I hope this makes sense.
htc_Tomi said:
I can definitely say that uncommenting those lines did get me ADB over the USB type C port. So it does work in this mode successfully. I could then do adb root and at least have some access similar to TWRP minus the flashing and back-ups.
I think the problem with some powered hubs could be the power delivery. I'm not sure if you have a type-C port already on your machine, but it may provide the full 10 GBPS/3A requirement if it's a direct type C port. The 3.0/3.1 gen1 hubs only provide 1.5A of power and 5 GBps, so while the Pi could run on it, you couldn't power any attached devices and would get the reduced lightningbolt symbol performance as well. The powered hubs have dedicated charging ports, but these wire directly to the hub and not the machine, so while providing more power at a cost.
I also tried installing Gapps (BitGapps) for Android 11 but it failed once I signed in with a Google account. Oh well. 32-bit Gapps are also harder to come by anyway. For now I can always sideload apk files which don't rely on the play stuff and use Chrome for browsing. That's a good start.
The reason I need Android 11 is mostly for accessibility. Unlike for sighted folks where lower Android versions don't make an impact on how and what you can use, for the blind, each Android version introduces changes to the accessibility API. This is important as these changes can allow for things like brand new touch gestures (completely different gestures/ swipes and touches in Android 11 with Talkback ) to actual improvements on what the screen reader "sees" in the UI. So no, I'm not doing this to just have the version number myself, but to benefit from the latest changes to Android's accessibility API. I hope this makes sense.
Click to expand...
Click to collapse
Thanks for confirming that ADB over USB-C is working. This might be something that will be enabled by default in future builds.
Latest BiTGapps (BiTGApps-arm-11.0.0-R19_signed.zip) should work just fine. I haven't received any other reports with issues.
Yes, I totally understand that new Android versions bring improvements, that's the whole point. But IMO simply having a bigger version number shouldn't be any reason for doing releases if it's not otherwise feature ready or some things are broken. This is a bit of problem in this "scene" where early utterly broken stuff is being endorsed just because of the version number.