Coder Social home page Coder Social logo

Comments (25)

nagyrobi avatar nagyrobi commented on July 19, 2024

I have both A50 and Up2Stream and works here perfectly. I am actually listening right now in multiroom the two devices.

Try resetting the devices to factory defaults. You don't need to set up anything from the Android app as you connect through Ethernet cable, let them get DHCP address statically from your router.
Make sure you're in the same multiroom mode with all your devices you're trying to make multiroom, and you're using the latest possible firmware version. If possible don't use multiroom_wifidirect: True - multiroom will work through Ethernet - much more stable and with less delay than WiFi.
It may really be that the devices fail to properly reach each other in wififirect mode, if you have thick walls etc.

I wish there could be a way to turn WiFi off completely on these. On A50 I even use an 50ohm RF terminator instead of the antenna to disable WiFi signal around the device.

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

my devices definetely don't support the ConnectMasterAp command. then it must be a firmware version problem, though i have factory reset and updated all three of them.
do you by chance have ipv6 disabled in your network? i was wondering if i am maybe getting ipv6 connected to a different update image server that has old versions

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

I don't use ipv6, and have configured the devices in Home Assistant by ipv4 address. DNS not involved.
What's the firmware version number and what's the UUID?

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

the first one is the A50:

$ for ip in 192.168.3.8 192.168.3.9 192.168.3.10; do curl -s "http://$ip/httpapi.asp?command=getStatus" | jq 'with_entries(select([.key] | inside(["hardware","firmware","uuid"])))'; done        
{
  "firmware": "4.2.8826",
  "uuid": "FF31F09EBFB2DCBA7B9B43C8",
  "hardware": "A31"
}
{
  "firmware": "3.8.6119",
  "uuid": "FF31F01222A0EEFF45156343",
  "hardware": "A31"
}
{
  "firmware": "3.8.6119",
  "uuid": "FF31F01218EAFA065B01471C",
  "hardware": "A31"
}

tried updating again. don't know what updatestatus 20/22 means. when i call getMvRemoteUpdateStart, the speakers all say "firmware upgrade failed"

$ for ip in 192.168.3.8 192.168.3.9 192.168.3.10; do curl "http://$ip/httpapi.asp?command=getMvRemoteUpdateStartCheck"; echo ""; done
OK
OK
OK
$ sleep 60                                                                                                                           
$ for ip in 192.168.3.8 192.168.3.9 192.168.3.10; do curl "http://$ip/httpapi.asp?command=getMvRemoteUpdateStatus"; echo ""; done    
20
22
22

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

Ah, that's the reason. Version 3.8.6119 is really, really old.

Updates status codes:

40 Find new version
10 checking
21 Check fail
22 Download fail
23 Verify firmware fail
25 downloading
27 Download finished, burning (for user part)
30 Download finished, burning
others No new version

Are these all similar A50s?

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

the first one is an a50, the other 2 are up2stream modules. i'm looking at what the speakers are doing using wireshark now. might be that i need to call a command other than getMvRemoteUpdateStartCheck. where did you get those api values?

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

https://cdn.shopify.com/s/files/1/0072/6899/1049/files/WIFI_AUDIO_HTTP_API.pdf

I just checked my Up2Stream is at firmware v4.2.8826.
Maybe there's an issue with your internet routing to the update server. Maybe you could try sharing a wireless hotspot from a mobile, connect them to that and let them update from there.

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

They seem to have ended support for my up2stream modules. I have the first batch and now they are called v2.
The speakers are reaching the download server fine, the problem is just that there are no updates.
The url they are fetching: http://s000.linkplay.com:8020/wifi_audio_image_7688/products.xml
Edit: I bought those just june 2019. I guess that's what I get for buying chinese junk
Edit: I asked their support for newer firmware, I guess with a proxy I could hijack that update mechanism

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

Back to the initial request: in case I don't get newer firmware, would you take a pull request that does multiroom grouping with the old api depending on the firmware version? My best guess right now would be to test for firmware < 4.0 and use that old api I linked

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

Sure. Make sure you specify the firmware version limits as constants at the top so we can adjust if we find newer infos about this later.
The first 8 characters of UUID identify the manufacturer of the speaker.

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

You could try inspecting with HttpCanary on Android the communication with the app. That uses mostly Upnp, maybe we could migrate the whole thing from this shitty httpapi.

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

i'll see. using the uuid i found this old thread: https://community.home-assistant.io/t/linkplay-integration/33878/162
does it mean there might be support for the old api somewhere in git history?

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

Have no clue.

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

turns out i messed up when trying the commands with curl and when i "sanity-checked" with your code, this bug prevented the wifidirect mode from being used. i'll try to find a way to get newer firmware on my up2stream modules, because this unprotected hidden ssid thing is driving me nuts.
edit: the android app also uses httpapi to control multiroom stuff

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

When in wifidirect multiroom mode, I don't think the multiroom AP is bridged with the local network. They use a separate 10.0.0.0 IP address range to communicate with each other so although unprotected, direct access to the local network is not immediate. But I agree it exposes risks.

You could try experimenting with encryption for wifidirect, maybe it works.

httpapi.asp?command=ConnectMasterAp:ssid=SSID:ch=4:auth=OPEN:encry=NONE:pwd=:chext=0
	Direct connect mode, SSID: HEX encoded wifi ssid, eg: ABC = 414243

Try replacing OPEN and NONE with some values (like WPA2PSK and AES maybe), add a password after pwd= maybe it works. If successful, add to config these values so that everybody could use their own values.

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

Moreover, if I look at the output of getStatusEx, I see that there are not only SSID, but also a list of supported auths and encryptions:

"auth": "WPAPSKWPA2PSK", 
"encry": "AES", 
"psk": "SOME HEX ENCODED STRING",

Do you have these on your firmares?

Maybe we could process these just like we do like the SSID:

self._ssid = binascii.hexlify(device_status['ssid'].encode('utf-8'))

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

When in wifidirect multiroom mode, I don't think the multiroom AP is bridged with the local network.

I tried it, my traffic got routed through the A50 into the other wifi. They are doing this so the slave speaker has internet access when connected to the master. Haven't tried between the multiroom wifi and ethernet.

Do you have these on your firmares?

I had tried with the "wlanConnectAp" from the other api doc and couldn't get it to work: https://github.com/AndersFluur/LinkPlayApi/blob/master/api.md#wifi-network-connection - haven't tried "wlanConnectApEx" yet. If I can get it to work, I'll patch LinkPlayDevice.join to support getting the wifi credentials from the master and joining the slave using those. Or is there a reason you implemented changing the wifi key and not a way to use it?

Arylic have replied they'll send me newer firmware for the up2stream v1

from home-assistant-custom-components-linkplay.

nagyrobi avatar nagyrobi commented on July 19, 2024

I only added the WiFi key changing from HA to at least not have open wifis by default. I use and recommend everyone not to use wifidirect multiroom at all.

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

Since this thread by now is a pretty good collection of buzzwords for google, I'm posting this here for future visitors:
I got my old up2stream modules updated to 4.2.8826 by switching the update server: http://$ip/httpapi.asp?command=SetUpdateServer:http://ota.rakoit.com/alpha
I couldn't figure out how to start the update from the api (getMvRemoteUpdateStart etc returned errors) but the mobile app showed a "NEW" button to start the upgrade.

from home-assistant-custom-components-linkplay.

ant0nwax avatar ant0nwax commented on July 19, 2024

I tried the following:

i have an A11 device

open URL in browser:
http://192.168.1.81/httpapi.asp?command=SetUpdateServer:http://ota.rakoit.com/alpha
answer of browser
OK

open URL in browser:
http://192.168.1.81/index.html#systemPage
Clicked Online Update
Error, in voice through the speaker and in the browser:
Firmware download failed,Please check your network connection

open URL in browser:
http://ota.rakoit.com/alpha
answer of browser:
403 Forbidden

from home-assistant-custom-components-linkplay.

h3po avatar h3po commented on July 19, 2024

Well then i guess they changed their webserver. Nothing i can do about it

It might just be that /index.html is forbidden

from home-assistant-custom-components-linkplay.

MahrWe avatar MahrWe commented on July 19, 2024

Not sure if a new issue should be raised, but I figured the information I found relates to what is in this issue.
The Problem: recently I noticed Multiroom joining fails for specific devices. I discovered the problem persists using the 4stream app.
Acutally, I can create Multiroom groups using Arylic devices (A50, U2S pro v2 and U2S pro v3) all version 4.6.... AND a group using GGMM E2 speakers all version > 4.2.8506
I was not able to create mixed groups using either the integration or the 4stream app.

Using RouterMultiroomEnable helped me with a Medion Speaker before so I tried it, in this case it did not help.

Finally, I used a Flashtool found in the Arylic Forum to flash the beta firmware from the same thread which enabled me to create a mixed group with the flashed GGMM E2 and arylic devices.

Heads up I should mention: Alexa does not work on GGMM device after flashing and probably more things are broken.

Should we now flash all EOL Linkplay devices with some beta firmware or it there better solutions?

from home-assistant-custom-components-linkplay.

ant0nwax avatar ant0nwax commented on July 19, 2024

Thanks for sharing this findings, I have 4x A11 (DOSS) and 2x A31 (AudioCast) devices
are the A31 also already end of life? i did not know that

I wonder I with this flash tool, could i try to force A31 beta firmware onto A11 devices? (DOSS Cloudfox A1)

Thanks for any ideas, I appreciate your time

from home-assistant-custom-components-linkplay.

MahrWe avatar MahrWe commented on July 19, 2024

Acutally I should clarify, end of life might not be correct assesment. I am just under the impression Arylic is the only manufacturer actively developing on their devices. They made changes to their app and firmware I have not found the same for example with the Medion app.
When checking GGMM E2 and Medion MD 43970 they both relesead firmware updates in 2020 (August and September) so maybe they will follow arylic they will hopefully still receive updates to 4.6.
I was browsing the update servers today to update my GGMM to a non-beta 4.6.328252.47 firmware (20210903). All firmwares I found were for A31 but I did not do extensive search, only looking for devices I have at home.

Edit: you should not try to force flash cross different logicboards. On the updates site there is different images for A28 and A31 and maybe at some point for A11.

from home-assistant-custom-components-linkplay.

ant0nwax avatar ant0nwax commented on July 19, 2024

from home-assistant-custom-components-linkplay.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.