jcrummy / gosqueeze

go package for configuring Logitech SqueezeBox receivers
MIT License
3 stars 1 forks source link

Multiple receivers all display the same MAC address #13

Closed robinbowes closed 2 months ago

robinbowes commented 2 months ago

Hi @jcrummy,

I was going to re-write my net-udap tool in go, then discovered that you'd already done it!

I've forked your repo and am testing your sbconfig utility.

I've found a problem when I have more than one device on the network.

The Sb struct seems to get populated OK when the handler function fires, but when appended to the sb slice, all items in the slice seem to end up with the same Mac.

For example, I have two receivers and my laptop has both wired and wireless connections so I get four responses when I do a UDAP discover, as each receiver receives a two broadcasts - one on wired, and one on wireless. I've added print commands to print the foundSB struct, and the whole sb slice after each response is processed. As you can see, after each response is processed, all the items in the sb slice seem to have the MAC address of the most recentlly processed response:

{MacAddr:00:04:20:16:06:02 IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}

[{MacAddr:00:04:20:16:06:02 IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}]
----------------------------------------------------------------
{MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}

[{MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}]
----------------------------------------------------------------
{MacAddr:00:04:20:16:06:02 IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}

[{MacAddr:00:04:20:16:06:02 IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:06:02 IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:06:02 IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}]
----------------------------------------------------------------
{MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}

[{MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr:<nil> GatewayAddr:<nil> SubnetMask:<nil> ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress:<nil> LanSubnetMask:<nil> LanGateway:<nil> Hostname: Bridging:false Interface:0 PrimaryDNS:<nil> SecondaryDNS:<nil> ActiveServerAddress:<nil> SqueezeCenterAddress:<nil> SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}]
----------------------------------------------------------------
Found the following devices:
  [00] 00:04:20:16:05:8f at 0.0.0.0
  [01] 00:04:20:16:05:8f at 0.0.0.0
  [02] 00:04:20:16:05:8f at 0.0.0.0
  [03] 00:04:20:16:05:8f at 0.0.0.0

Any idea what's going on? I've tried to figure it out but it's got me stumped.

Thanks,

R.

jcrummy commented 2 months ago

Robin, it has been a while since I've looked at this, and I realized that I only ever tested it with a single device at a time. I will try to take a look in the next couple of days to see if I can shed any light on it.

John

-------- Original Message -------- On 2024-06-02 19:59, Robin Bowes wrote: Hi @jcrummy, I was going to re-write my net-udap tool in go, then discovered that you'd already done it! I've forked your repo and am testing your sbconfig utility. I've found a problem when I have more than one device on the network. The Sb struct seems to get populated OK when the handler function fires, but when appended to the sb slice, all items in the slice seem to end up with the same Mac. For example, I have two receivers and my laptop has both wired and wireless connections so I get four responses when I do a UDAP discover, as each receiver receives a two broadcasts - one on wired, and one on wireless. I've added print commands to print the foundSB struct, and the whole sb slice after each response is processed. As you can see, after each response is processed, all the items in the sb slice seem to have the MAC address of the most recentlly processed response: {MacAddr:00:04:20:16:06:02 IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} [{MacAddr:00:04:20:16:06:02 IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}] ---------------------------------------------------------------- {MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} [{MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}] ---------------------------------------------------------------- {MacAddr:00:04:20:16:06:02 IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} [{MacAddr:00:04:20:16:06:02 IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:06:02 IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:06:02 IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}] ---------------------------------------------------------------- {MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} [{MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}} {MacAddr:00:04:20:16:05:8f IPAddr: GatewayAddr: SubnetMask: ID:12343 Type:squeezebox Name: Status:init HardwareRev:808464437 FirmwareRev:14135 Data:{LanIPMode:false LanNetworkAddress: LanSubnetMask: LanGateway: Hostname: Bridging:false Interface:0 PrimaryDNS: SecondaryDNS: ActiveServerAddress: SqueezeCenterAddress: SqueezeCenterName: WirelessMode:0 WirelessSSID: WirelessChannel:0 WirelessRegion:0 WirelessKeylen:0 WirelessWEPKey0:[] WirelessWEPKey1:[] WirelessWEPKey2:[] WirelessWEPKey3:[] WirelessWEPOn:false WirelessWPACipher:0 WirelessWPAMode:0 WirelessWPAOn:false WirelessWPAPSK:}}] ---------------------------------------------------------------- Found the following devices: [00] 00:04:20:16:05:8f at 0.0.0.0 [01] 00:04:20:16:05:8f at 0.0.0.0 [02] 00:04:20:16:05:8f at 0.0.0.0 [03] 00:04:20:16:05:8f at 0.0.0.0 Any idea what's going on? I've tried to figure it out but it's got me stumped. Thanks, R. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

robinbowes commented 2 months ago

Robin, it has been a while since I've looked at this, and I realized that I only ever tested it with a single device at a time. I will try to take a look in the next couple of days to see if I can shed any light on it. John

Thanks John!

robinbowes commented 2 months ago

I did a bit more digging, and it seems to be that the Mac Address that is used to create the foundSB object some how persists between invocations of the handler function, so all Sb objects in the slice end up being the same one, which is why they have the same Mac Address.

I'm pretty new to Go so I don't understand how/why this is happening, or how to fix it.

I shall keep digging.

jcrummy commented 2 months ago

@robinbowes thank you for digging in to this.

One thing to keep in mind when looking at this repo is that I wrote this when I was learning Go myself, so I would not consider this to be done in an enigmatic Go fashion (it is more of a mix of Perl and Go as far as styles go). It has been in the back of my head to refactor it for a while now, but I haven't had to reconfigure any of my players for quite some time, so it just hasn't been a high priority.

robinbowes commented 2 months ago

@robinbowes thank you for digging in to this.

One thing to keep in mind when looking at this repo is that I wrote this when I was learning Go myself, so I would not consider this to be done in an enigmatic Go fashion (it is more of a mix of Perl and Go as far as styles go). It has been in the back of my head to refactor it for a while now, but I haven't had to reconfigure any of my players for quite some time, so it just hasn't been a high priority.

Understood.

I'm working on a Go UDAP protocol implementation that will be based on the SqueezePlay implementation here: https://github.com/LMS-Community/squeezeplay/tree/f4c243e3eb5dca051a3bcb122771b19586744bab/src/squeezeplay/share/jive/net

I'm mostly doing it as an exercise in learning Go!

Thanks for merging my PR.

R.