Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help with a personal build #4

Open
salembegic opened this issue Jan 20, 2025 · 5 comments
Open

Help with a personal build #4

salembegic opened this issue Jan 20, 2025 · 5 comments

Comments

@salembegic
Copy link

Hi, I recently got all the components and built the Ottercastamp with the help of a few friends. In the beginning everything seemed to work fine, and we managed to enter the SSID and password through configuration port, but then we noticed that the amp wasn't connecting to the wifi we set. Since then we tried multiple things (reflowing, changing the chips...) but we still can't get it to work.

If you have any clues a to what I could try, i would be very grateful. This is the output I get when connecting to UART:

Output.txt

@Manawyrm
Copy link
Member

(currently traveling and a bit short on time, ping me again later for more detailed debugging)

What happens via Ethernet? Have you tried to put an SSH key onto the SD card and logging into the amp?

Logging in via serial (username root), can you run „ip a“? What happens there?

Is your WiFi set to WPA3? Protected Management Frames might be a problem.
Try downgrading your WiFi to WPA2(-PSK).

@salembegic
Copy link
Author

salembegic commented Jan 22, 2025

Hi, thank you so much for helping out 😊

When I connect to it over ethernet everything seems to be working fine. I tried going to the IP address and I got the configuration site:

Image

SSH also works as expected. I tried running the ip a command, and this is the output I got:

ip a␍␊
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000␍␊
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00␍␊
inet 127.0.0.1/8 scope host lo␍␊
valid_lft forever preferred_lft forever␍␊
inet6 ::1/128 scope host ␍␊
valid_lft forever preferred_lft forever␍␊
2: eth0: mtu 1500 qdisc mq state DOWN group default qlen 1000␍␊
link/ether 02:01:e4:83:88:63 brd ff:ff:ff:ff:ff:ff␍␊
3: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1000␍␊
link/sit 0.0.0.0 brd 0.0.0.0␍␊

My WiFi is currently set to allow both WPA2 and WPA3, and the few Pi's/ESPs I have lying around seem to be working fine. My best guess is that it's a hardware issue. I will try to check the WiFi chip over the next few days to see if there is any activity. I already tried replacing it since I had spares, but it might be a problem with crystal or other passive components.

Do you maybe know if there is any way to see devices conected to the main chip? I would like to know if the S3 can at least communicate with amplifier chips, an if not I can try reflowing it or even reballing and soldering it again. I also talked with a friend and I might be able to get it under x-ray to see if there are any shorts/cold joints under it.

@Manawyrm
Copy link
Member

this is the output I got

Yeah, OK, that's pretty clear, then.
You don't have any WiFi interface.

Do you maybe know if there is any way to see devices conected to the main chip?

There is no "standardised interface" or discovery mechanism for this.
You can just use the (working) Ethernet interface to play audio through the device, though?
If it works, it works? 😄

The bootlog you've showed doesn't really look very promising, though.
There's no mention of the SDIO-attached WiFi module (just the bluetooth part of it) and there's no mention of the amplifier chips.

Hmm. You could try to run

i2cdetect -y 0
i2cdetect -y 1

to see if there is anything on the bus. Not sure if the kernel will let you do that, but it's worth a try.

I also talked with a friend and I might be able to get it under x-ray to see if there are any shorts/cold joints under it.

Sure! Always a good idea.
Where are you located in the world physically?

My WiFi is currently set to allow both WPA2 and WPA3, and the few Pi's/ESPs I have lying around seem to be working fine.
Some of the modules (and especially the accompanying firmware) seemed to have problems with WPA3/PMF. If you get WiFi working (see a wifi interface in ip a), but can't connect, try to remember this limitation. I think we managed to fix it, but I'm not 100% sure right now.
I do know that the 2 Ottercast Amp's we have here for dev/prod have 2 different WiFi chipsets for historical reasons and they behave slightly differently :D

@lucysrausch
Copy link
Member

Hi, and congrats on assembling & booting a Linux SoC from scratch!

That's honestly pretty impressive and unfortunately a pretty high barrier for entry to this project. A future version of OtterCastAmp will replace the SoC with a SOM to hopefully make DIY builds easier and more successful.

To add to @Manawyrm, I'll say that the WiFI module can be a bit funky and gave us quite some trouble during the development. First, it's hard to find genuine modules, as I remember that parts from AliExpress are often rebranded or outdated HW versions. Once I even received an order of "new" modules that very clearly were desoldered and stripped for parts. So, it might even make sense to swap the module for a different part from another batch.

The other thing I remember doing while also debugging firmware, was checking the 1.2V rail on the WiFi SOM for life, and making sure the crystal is oscillating. Tho if you got bluetooth to initialize, this is most likely working since it's a combined SoC for WiFi and BLE. So most likely you are having issues with the SDIO bus or FW. If you have a decent scope with a 10X probe or a good logic analyzer you can also try probing the SDIO bus on the pullup resistors next to the module.

One thing to note for bringing up the amplifiers: Although they could (and tbh should, can we fix this in software? @Manawyrm) work individually, from experience the ALSA driver only fully initializes if both chips are present on the I2C bus. There is also a temperature sensor you can probe for (both physically and from the kernel) to see if the bus is present at all. If not, it's most likely a soldering issue with the SoC. If you can get an xray, that would help for sure with further debugging.

Good luck!!

@Aqe92
Copy link

Aqe92 commented Jan 25, 2025

Hi. i have made this amp too. After alot of struggling i got this working, but have the same fault with no wifi. I can see the temperature on the website and it is changing so i guess the I2C bus should be working? I have placed an order for new wifi modules hoping that would fix the problem.
I have it working on Ethernet and have a question. When i connect to it from spotify connect (iphone) the amp always go to max volume which is not that great and i have to turn it down before connecting any speakers, it is the same on both amp outputs. When i connect to it using airplay i get nothing on screen and no sound but it seems to start with a lower volume at least.
Have i done something wrong or is it how its ment to be?.

Also the status LED is always litt and the power LED is flashing. 3v3PG is lit too.
And what is the config button suppose to be for?
And i have a EMMC chip but its not soldered yet. If i solder it can i flash it using the USB Port or is this not implemented? SD Card works fine but just wanted to know :)

Would be awesome to get this beauty running as intended.

Best Regards Axel.

OtterCastAMP_log.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants