nisargjhaveri / WirelessAndroidAutoDongle

Use Wireless Android Auto with a car that supports only wired Android Auto using a Raspberry Pi.
MIT License
719 stars 84 forks source link

Feedback on Pi 4 and Pi Zero 2W Performance with WirelessAndroidAutoDongle #190

Open wsadzc opened 1 month ago

wsadzc commented 1 month ago

Hello, respected developer, I'm currently using both the Pi 4 and Pi Zero 2W interchangeably. The Pi 4 doesn't experience any shaking or disconnection issues (except when it starts to overheat, which then causes shaking and disconnection). The Pi Zero 2W, however, frequently encounters issues to the point of becoming unusable. (For instance, frequent operations on the car stereo screen, such as using navigation, can cause music to stutter or pause, eventually leading to instability and the car stereo disconnecting.) At this point, the phone screen displays a message indicating insufficient phone performance. These malfunctions only occur with the Pi Zero 2W. The Pi 4 runs well. Additionally, the config disk partition of the Pi Zero 2W 0.41 img cannot be read in Windows, so it can't be configured. It displays normally under Linux OS. Regardless, thank you to nisargjhaveri for the development, allowing us to use it smoothly. I've been actively recommending it to my friends. Currently, everything is working very well, except for the aforementioned issues with the Pi Zero 2W, which are a bit troublesome. The above conversation was translated with the assistance of Claude.ai. I hope I've expressed my meaning clearly. Thank you.

wsadzc commented 1 month ago

Regarding the power supply issue with the Pi Zero 2W: Some users have reported needing to connect two cables for normal operation. Here's a possible solution: First, note that the Pi Zero 2W has two Micro USB ports: a PWR port and a port with OTG functionality. The solution involves using a single USB cable, splitting it into 4 wires, and connecting them to individual positions: 5V, GND, D+, and D-. This should resolve the issue. I'm providing this method for reference. I hope to get responses from others on this solution. Thank you. image

wsadzc commented 1 month ago

Today I tested the method of soldering to the test points on the back of the Pi Zero 2W Unable to communicate Then some users also reported that they needed to plug in two wires to have communication The possible reason for this part is that when connecting to the PWR MicroUSB Only then will the Zero correctly execute and open MTP mode While connecting to the OTG MicroUSB, for unknown reasons, it cannot execute to MTP mode I used two Zero 2Ws and SD cards for cross-checking and found this unstable situation P.S. This problem is judged to possibly be due to using some charging cables that short D+ and D- together, the cable needs to be replaced Additionally, the audio intermittent problem is obvious, ruling out poor 2.4G signal issues (During testing, the Pi Zero 2W was placed in an air conditioning vent, and the phone was placed close by, about 10cm away) Ruling out overheating and interference problems But it still occurred multiple times when operating the car stereo panel or playing music on the phone, Resulting in audio gaps, or direct interruptions, or Pi restarting

https://youtu.be/TMlZkouOgxA

corsicanu commented 1 month ago

Can you please share what car do you have? What values are you getting from the car (V/Ah)?

I'll try this myself later today, i own a Skoda Octavia from 2023, which uses type-C cable so it will be a bit tricky to convert type-C to micro USB to get to no adapters needed.

I didn't measure yet the values, but i noticed my Samsung s24 using fast charge (which usually means around 15-18w, most likely 9V at 1.65-2Ah), will post also the measurements and the results once i finish building the project.

wsadzc commented 1 month ago

The car models I currently own all have (Type-A) outputs with 5V voltage, and they do not use the USB protocol to step up to 9V. Only when both ends are Type-C can they successfully handshake and increase the voltage. I have already purchased a MicroUSB to Type-C adapter. I will attempt to use a cable with Type-C on both ends to drive it. If successful, you will be able to refer to my solution.

corsicanu commented 1 month ago

I managed to connect my pi with a single short Asus micro-usb cable and a Samsung type C OTG adapter. So far it works fine, will test it in the next days to see if it starts lagging or stuttering long term. In my 10-15 mins tests everything was fine on both desktop-head-unit and car. As for the measurements i checked when running tests on the pc and it was pulling like 5V at 0.2-0.3A.

I wanted to mention one issue i had in the past, may not be the case now, but it can become pain in the a** it left untreated - microsd card, maybe try another one or a new one - i had issues to the point where my pi zero 2W was freezing entirely after 40-50 mins, only solution to that being a reboot. Except i had it at 100km away, running headless as vpn for the ipcams i had there, so reboots were totally impossible.

Will come back in the next days to share my experience with it. Regards.

wsadzc commented 1 month ago

Does it include music playback functionality? The Pi Zero 2W works well when only running map navigation. However, if I use the Brave browser on my phone to play YouTube, it experiences delays or interruptions. On the same car, using a Pi 4 2GB has fewer or almost no issues, with only occasional interruptions for unknown reasons. Additionally, I've just tested using a micro to Type-C adapter, and it works. However, the interruption problem still bothers me... I'm not sure if it's the browser playback causing transmission issues. If anyone has answers to my concerns or confusion, I would be very grateful. Q1. Communication problem with D+ D- on the back of Pi Zero 2W Q2. Browser playback of YouTube on Pi Zero 2W causing delays or interruptions Q3. Occasional interruptions and delays on Pi 4 (much less frequent compared to 2W) As someone who develops software in C#, I'm not very familiar with embedded systems operations. If there are better methods or ways I can help, please let me know.

711595_0

corsicanu commented 1 month ago

This is my setup and i've been playing YT Music for around 45 mins with no stutters and no major lag (it has a very small delay, but nothing out of the ordinary).

20240919_143800 20240919_143702

wsadzc commented 1 month ago

I have a chance to try YouTube Music. Since I've removed both the YouTube and YouTube Music apps from my phone, I rely solely on the Brave browser to watch YouTube. So I wonder if Google has other ways of processing audio, leading to this difference in results. I will go and test to see.

wsadzc commented 1 month ago

OK. I've tested it. Indeed, it works well under YouTube Music (played for about 5-10 minutes). During playback, the car's display screen was normal. P.S. YouTube Music forces foreground playback, background play is not allowed. However, when switching to the Brave browser to watch YouTube, delays and stuttering quickly appeared. The car's navigation screen also experienced delays. I can't determine where the differences lie between the two. The phone's performance should be sufficient to run it (model: OnePlus 11 with 16GB RAM/512GB storage).

wsadzc commented 1 month ago

Raspberry Pi Zero 2W Progress Update - 2024/09/27 Q1: Pi Zero 2W requiring both PWR and OTG cables for stable operation A1: This issue is caused by a damaged MicroSD card. Replacing the SD card resolves the problem. Q2: Communication issues with D+ and D- pins on the back of Pi Zero 2W A2: As above, replacing the SD card resolves this issue. After replacement, both D+ and D- pins, as well as the back-side soldering shown in the image, function as expected. Q3: Pi Zero 2W audio stuttering and frequent system freezes/lag Solution: Implemented the Performance boost #197 solution for Pi Zero 2W. This perfectly resolved the issue (stable operation for 20 minutes without lag). Additional Note: Almost all dual-cable issues were found to be caused by faulty SD cards.

Paako89 commented 1 month ago

HI guys. I’m facing similar issue with a pi zero 2W. it keeps disconnecting and reconnecting to the headunit. I tried using both usb ports for more power but still no luck. the usb sign comes on for few seconds and the disappears

wsadzc commented 1 month ago

@Paako89 Currently, I've conducted extensive testing on the Zero 2W, but it's still unstable. I can't pinpoint where the problem lies. I'm starting to suspect that the vehicle's USB itself might be faulty... but the stability is very high on the Pi 4. Or the SD card might be damaged, I'm not sure. As shown in the image, it's a 32GB Kingston microSD (all brand new, just unsealed, but manufactured a long time ago). 10/02 Tested the following items:

Connected the Zero 2W's Vbus and GND to an external power bank to avoid unstable power supply from the car. (The result is still unstable, and connection is very difficult)

I'm currently waiting for the Pi 4's cooling case to arrive... the instability of the 2W has made me lose confidence. Additionally, I tried to configure the Radxa ZERO 3W RK3566 (WiFi 6/BT5.4/eMMC). Failed, as Windows 10 1809 LTSC couldn't install Docker for Windows. The WSL Ubuntu 22.04 configuration also had issues, which was challenging for me. In any case, I'll keep trying. If anyone else has completed this successfully, please make sure to share. Thank you.

Demonhawk14 commented 1 month ago

I was originally have issues with my PI zero 2w being unable to connect to my Sync3 system. Rather than plugging a usb cable into each of the ports on the PI itself, I used one of these style cables https://www.amazon.com/gp/product/B098L4HTVG/ to provide extra power on just the OTG connection. That allowed me to have it connect pretty consistently, so that might be an alternative for people experience connectivity issues due to insufficient power. Now I'm just trying to troubleshoot stuttering audio from audible. I might need to try an overclock next.

NabeelUppel commented 2 weeks ago

I tried a new SD card like you suggested and it didn't seem to work. The cable I used worked before and it just kinda stopped one day. Any other suggestions?

NabeelUppel commented 4 days ago

Hi @wsadzc I have a question and it seems that you have context on the power usage/requirement

I have a Pi02w and it stopped working all of a sudden and I cannot get it to work again I see that a lot of people have issue with Pi02w and have better stability with a Pi4.

From my understanding the Pi4 is more powerful and most likely requires more power to operate so how is it more stable than the Pi02w?

I want to make sure that I have a better shot with a Pi4 before biting the bullet and buying one.

I did try a new SD card with no luck.

I was testing @manio's new rust implementation and realised that my pi crashes when switching to a accessory mode and the most likely reason is power issues as far as we can tell. (Still investigating)

corsicanu commented 4 days ago

I have a Pi02w and it stopped working all of a sudden and I cannot get it to work again I see that a lot of people have issue with Pi02w and have better stability with a Pi4.

I had same issue with 0.4.1 and got it fixed by burning latest image from actions artifacts (https://github.com/nisargjhaveri/WirelessAndroidAutoDongle/actions/runs/11149049881)

Seems that rootfs gets corrupted after a while with sudden power cut and commits that make rootfs read only fixed that (for me at least). Give that a shot and see long term, at first i had issues after 2 weeks of daily usage and now it's more than 3 weeks with no issue.

Regards

NabeelUppel commented 4 days ago

Thanks @corsicanu I did try but with no luck, it still flashes then goes into looking for Android Auto.

Also how do you change the connect type ? I couldn't make any changes because everything was readonly.

corsicanu commented 4 days ago

Thanks @corsicanu I did try but with no luck, it still flashes then goes into looking for Android Auto.

Also how do you change the connect type ? I couldn't make any changes because everything was readonly.

From my experience, dd the image, boot, connect with laptop to that wifi, ssh within it as booted and do changes via cli, then reboot and profit. That's how i OC'ed everything a bit for better responsiveness as it's explained in #197, and that's how it might work changing type. Check in the commits for new location of configuration files as it got changed in the artifact i linked, rootfs is ro but it has includes from another place.

Regards