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

Ycast Failure With Aluratek AIRMM01F Internet Clock/Radio #126

Open
AverageDwarfGiant opened this issue Feb 24, 2023 · 2 comments
Open

Ycast Failure With Aluratek AIRMM01F Internet Clock/Radio #126

AverageDwarfGiant opened this issue Feb 24, 2023 · 2 comments

Comments

@AverageDwarfGiant
Copy link

Aluratek AIRMM01F fails to utilize ycast installed on a Manjaro Linux PC.

DNSmasq is working on Asus router running Asuswrt-Merlin with Entware installed and calls to vtuner.com are redirected to the Linux PC. It appears that the vtuner firmware on the Aluratek is just not compatible with Ycast.

What further steps can I take to get debugging information that I can pass on here?

I have wireshark installed on both on the Linux PC and on the Asus router from within Entware. I also have tcpdump installed on the router also from within Entware. However, I don't know how to use any of these at this moment. Pointers to tutorials would be appreciated.

@AverageDwarfGiant
Copy link
Author

Following up my own post with an update

Turns out that a firewall blocked the Aluratek from accessing Ycast on the Linux PC.

Having an old Raspberry Pi 3B on hand, I installed the latest Raspberry Pi OS on this with Ycast on top. Entware DNSmasq successfully routes vtuner.com access to the Raspberry Pi.

Although the Aluratek can now see Ycast Raspberry Pi, I am now experiencing the same kind of problem mentioned in issue #96 with the Sagem MyDu@l Radio 700.

Among the things I see with the "-d" ycast debug option is some mention of Unicode. I would guess that if Unicode is broken somewhere that it would have to be on the Aluratek but I don't know.

I'm actually not surprised about this. It's my understanding that the Aluratek Airmm01f is actually a rebadged Sagem MyDu@l.

I'll try doing this again to gather debug information. Any advice to best do this would be appreciated.

@AverageDwarfGiant
Copy link
Author

Another update:

I figured out how to generate pcap files using tcpdump and how to examine these using Wireshark.

I also ran Ycast on a Raspberry PI with the debug option, "-d". This is what I got trying to use it with the Aluratek:

2023-03-14 20:20:40 INFO: YCast (1.1.0) server starting
2023-03-14 20:20:40 DEBUG: Debug logging enabled
2023-03-14 20:20:40 INFO:  * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
2023-03-14 20:21:44 INFO: 192.168.50.234 - - [14/Mar/2023 20:21:44] "�[37mGET /setupapp/aluratek/asp/BrowseXML/loginXML.asp?token=0 HTTP/1.0�[0m" 200 -
2023-03-14 20:21:44 INFO: 192.168.50.234 - - [14/Mar/2023 20:21:44] "�[37mGET /setupapp/aluratek/asp/BrowseXML/loginXML.asp?mac=2B730FF0FDB232C8A8931FF1B0BEB0AC&dlang=eng&fver=1.754333 HTTP/1.0�[0m" 200 -
2023-03-14 20:21:50 DEBUG: Radiobrowser API request: tags?hidebroken=true
2023-03-14 20:21:51 DEBUG: Starting new HTTP connection (1): all.api.radio-browser.info:80
2023-03-14 20:21:51 DEBUG: http://all.api.radio-browser.info:80 "GET /json/tags?hidebroken=true HTTP/1.1" 200 None
2023-03-14 20:21:51 DEBUG: Radiobrowser API request: countries?hidebroken=true
2023-03-14 20:21:51 DEBUG: Starting new HTTP connection (1): all.api.radio-browser.info:80
2023-03-14 20:21:52 DEBUG: http://all.api.radio-browser.info:80 "GET /json/countries?hidebroken=true HTTP/1.1" 200 2717
2023-03-14 20:21:52 DEBUG: Radiobrowser API request: languages?hidebroken=true
2023-03-14 20:21:52 DEBUG: Starting new HTTP connection (1): all.api.radio-browser.info:80
2023-03-14 20:21:52 DEBUG: http://all.api.radio-browser.info:80 "GET /json/languages?hidebroken=true HTTP/1.1" 200 3099
2023-03-14 20:21:52 DEBUG: Radiobrowser API request: stations?order=votes&reverse=true&limit=200
2023-03-14 20:21:52 DEBUG: Starting new HTTP connection (1): all.api.radio-browser.info:80
2023-03-14 20:21:52 DEBUG: http://all.api.radio-browser.info:80 "GET /json/stations?order=votes&reverse=true&limit=200 HTTP/1.1" 200 None
2023-03-14 20:21:52 ERROR: Exception on /ycast/radiobrowser/ [GET]
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 2447, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1952, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1821, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python3/dist-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1950, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1936, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/pi/Downloads/YCast-1.1.0/ycast/server.py", line 183, in radiobrowser_landing
    len(radiobrowser.get_stations_by_votes())))
  File "/home/pi/Downloads/YCast-1.1.0/ycast/radiobrowser.py", line 155, in get_stations_by_votes
    print(station_json)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 173-177: ordinal not in range(256)
2023-03-14 20:21:52 INFO: 192.168.50.234 - - [14/Mar/2023 20:21:52] "�[35m�[1mGET /ycast/radiobrowser/?vtuner=true&mac=2B730FF0FDB232C8A8931FF1B0BEB0AC&dlang=eng&fver=1.754333 HTTP/1.0�[0m" 500 -
2023-03-14 20:21:59 INFO: 192.168.50.234 - - [14/Mar/2023 20:21:59] "�[37mGET /setupapp/aluratek/asp/BrowseXML/loginXML.asp?mac=2B730FF0FDB232C8A8931FF1B0BEB0AC&dlang=eng&fver=1.754333 HTTP/1.0�[0m" 200 -

I can't claim to know what may be happening but it appears that a 32-digit hex number, probably a UUID, is being handed off as a MAC address.

Meanwhile, I can still use the Aluratek with vtuner.com apparently because I never registered its MAC address for any vtuner account.

Alura-Vtuner.pcap is the packet capture of a working vtuner connection although I filtered out the actual TCP audio stream to reduce the file size.

(I used "!tcp.stream eq 10" but the streams on the exported pcap file have been renumbered: 11 ->10, 12 -> 11, etc. with streams 0 to 9 remaining unchanged)

Alura-RPiYcast.pcap is the packet capture of one of my failed attempts to use the Aluratek with Ycast.

(Looks like I couldn't upload the two files as-is. These have been packaged together in Aluratek.zip)

Aluratek.zip

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

1 participant