Giter Club home page Giter Club logo

net-udap's Introduction

Net-UDAP

Overview

Net::UDAP is a Perl module to configure the Logitech SqueezeBox Receiver (SBR) from a PC, i.e. without requiring a SqueezeBox Controller (SBC).

I have tested on linux (Fedora 8), Windows XP (ActiveState perl and cygwin).

Important If you don't read anything else, read this: [wiki:GettingStarted Getting Started]

Donations

Net-UDAP is free software - you do not have to pay to use it.

However, if you find Net-UDAP useful, you might like to make a donation - I've got four five kids to support!

https://paypal.me/RobinBowes

Support

Please raise issues if you have any problems with Net-UDAP

Documentation

[wiki:GettingStarted Getting Started]

[wiki:ReceiverSetupProcedure Receiver Setup Procedure]

[wiki:SampleUsage Examples of configuration commands]

Requirements

  • On Unix:

    • perl v5.8.5, or later (it may work on earlier versions)
    • either subversion or unzip
  • On Windows:

    • ActiveState perl
    • optionally, TortoiseSVN (or similar)

For the 1.0.0 release, all necessary modules should either be part of base perl, or are distributed with this module.

Note: this will change in the next release. Net::UDAP will require installing one or two supporting perl modules from CPAN or using the ActiveState [http://aspn.activestate.com/ASPN/Downloads/ActivePerl/PPM/ Perl Package Manager].

News

March 22, 2014

Imported code to github.

I have tried to update the documenttion to reflect the new location of the wiki, etc. but please let me know if I've missed anything.

January 21, 2009

I just committed a change that switches to hex entry for WEP keys. This simply means that instead of entering a hex key like this: {{{abcd}}}, you should now enter it like this: {{{61626364}}}.

The change is in trunk, and also in a new 1.0.x branch I've created from the 1.0.0 release.

January 9, 2009

Blimey, two updates in two days - what's going on???!!

I just noticed that the documentation doesn't mention anything about firewalls. Oooops. I've updated the [wiki:GettingStarted Getting Started] docs to include details of what size hole is required in the firewall.

For the record, the UDAP protocol uses broadcast traffic on port 17784 (udp).

January 8, 2009

Happy New Year all!

No major updates to report at this stage, but I've re-arranged the wiki documentation and updated the [wiki:GettingStarted Getting Started] documentation. Also, the registration procedure should now work so you can register, login, and create tickets to report any issue. Hell, you could even go crazy and edit the wiki to update the documentation!

A couple of points regarding getting the code:

  1. Most folk should grab the 1.0.0 Release () rather than the latest development code
  2. trac is able to dynamically create a zip file of any view of the code repository. What this means in practise is that it is not necessary to install subversion to get Net::UDAP - you can simply grab a zip archive. Look for the "Zip archive" link at the bottom of the page under "'''Download in other formats:'''"

June 2, 2008

I've moved all my projects to a new server and a new version of trac.

Please [/register register] to be able to create/modify tickets and/or modify the wiki.

https access is secured using a certificate signed by the CAcert. To import the CAcert root certificate, please go to https://www.cacert.org/index.php?id=3

Useful Links

http://wiki.slimdevices.com/index.php/SBRFrontButtonAndLED

http://forums.slimdevices.com/showpost.php?p=280981&postcount=47

net-udap's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

net-udap's Issues

UDAP not writing to Duet receiver?

Just like @aidyw I have a Duet receiver that has done sterling service for years, but the controller died some time ago, and the Duet's been getting flakey on my network. UDAP looked like the tool to attempt a rescue.

My attempts to run the precompiled/packaged copy of UDAP 1.0.0 on Windows failed. The tool was emitting a slew of warnings about missing modules and suchlike so I didn't have much hope.

However, I got an installation on Linux (Debian Buster/Sid) running, once I had sorted out all the missing CPAN dependencies.

Current State

The tool runs without error, finds the Duet (temporarily on a wired ethernet i/f), and reads the settings, which do look a bit hinky. They show a mixture of my old Squeezecenter server address (192.168.0.41), and the current one (192.168.0.40). There's also a lan network address and subnet mask that I don't recognise, but these are maybe factory defaults as the device was always used wirelessly up until now.

UDAP [1] (squeezebox 172dd2)> list
             bridging: 0
             hostname: Lounge
            interface: 0
          lan_gateway: 0.0.0.0
          lan_ip_mode: 1
  lan_network_address: 169.254.151.3
      lan_subnet_mask: 255.255.0.0
          primary_dns: 0.0.0.0
        secondary_dns: 0.0.0.0
       server_address: 192.168.0.40
squeezecenter_address: 192.168.0.41
   squeezecenter_name: Queeg
        wireless_SSID: {private SSID}
     wireless_channel: 6
      wireless_keylen: 0
        wireless_mode: 0
   wireless_region_id: 14
   wireless_wep_key_0: 00000000000000000000000000
   wireless_wep_key_1: 00000000000000000000000000
   wireless_wep_key_2: 00000000000000000000000000
   wireless_wep_key_3: 00000000000000000000000000
      wireless_wep_on: 0
  wireless_wpa_cipher: 3
    wireless_wpa_mode: 2
      wireless_wpa_on: 1
     wireless_wpa_psk: {private WPA2 key}

Symptoms

I tried to change the settings to try to move the Duet temporarily onto the hard wired interface, just to prove it's working-

UDAP [1] (squeezebox 172dd2)> set lan_network_address=192.168.0.51 lan_subnet_mask=255.255.255.0 squeezecenter_address=192.168.0.40 squeezecenter_name=Holly interface=1

But when I write this to the client and reset it. nothing changes ?! I have to put the Duet back into "init" mode for UDAP to find it (by holding the front panel button until it slow-blinks red), and when I d so and list the settings they are all exactly as they started, nothing has changed.

I've tried power cycling the Duet after writing the settings, but nothing seems to "stick".

Any idea what is happening here? I'm running UDAP as a normal user rather than root, which is generally safer, and there are no access errors showing up. Does UDAP need to run as root to write to the device?

Log/StdLog.pm is missing ?

using github master branch I get error ;

./scripts/udap_shell.pl
Can't locate Log/StdLog.pm in @inc (you may need to install the Log::StdLog module) (@inc contains:.........) at .../UDAP/net-udap/scripts/../src/Net-UDAP/lib/Net/UDAP/Log.pm line 39.
BEGIN failed--compilation aborted at .../UDAP/net-udap/scripts/../src/Net-UDAP/lib/Net/UDAP/Log.pm line 39.
Compilation failed in require at ./scripts/udap_shell.pl line 31.
BEGIN failed--compilation aborted at ./scripts/udap_shell.pl line 31.

master is not latest ?

referring to the original wiki page, the branches is 1.0.x.
github import is not the same ?

discover error

with svn 1.0.x I get a discover error

.../UDAP/1.0.x$ ./scripts/udap_shell.pl
UDAP> discover
info: *** Broadcasting adv_discovery message to MAC address 00:00:00:00:00:00 on 255.255.255.255
info: adv_discovery response received from 00:04:20:07:2a:b2
ucp_method get_uuid callback not implemented yet at .../UDAP/1.0.x/scripts/../src/Net-UDAP/lib/Net/UDAP.pm line 292.
Raw msg:
00 01 02 03 04 05 06 07 - 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF

00000000 00 01 00 04 20 07 2A B2 - 00 01 00 04 20 2C 53 FC .... .*..... ,S.
00000010 00 01 C0 01 01 00 01 00 - 01 00 0B ...........
ucp_method invalid or not defined. at .../UDAP/1.0.x/scripts/../src/Net-UDAP/lib/Net/UDAP/Shell.pm line 153.

Compiling on Ubuntu, seems the problems are not just package dependencies

Hi,
I have resurrected an old squeezebox receiver and the controller for it is dead. So I was very glad to find your code to perhaps help me overcome this problem. However I am struggling to overcome compile issue. I have tried a few times as initially I was hitting problems with package dependencies. Having tried resolve these.
I'm using Ubuntu 18.04LTS.

Specifically I ended up copying:

/usr/share/squeezeboxserver/CPAN/HTTP/Net/UDAP/Message.pm
into
./lib/Net/UDAP/Message.pm

i.e. into the local git repo I cloned from this project. I overcame the first dependency problem, but now when I run make test I encounter this:

make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/.t
t/00.load.t ....... 1/5 # Testing Net::UDAP v1.0_01
t/00.load.t ....... ok
t/perlcritic.t .... 3/?

Failed test 'Test::Perl::Critic for "blib/lib/Net/UDAP.pm"'

at /usr/local/share/perl/5.26.1/Test/Perl/Critic.pm line 121.

"select" used to emulate "sleep" at line 230, column 9. See page 168 of PBP. (Severity: 5)

Variable declared in conditional statement at line 306, column 9. Declare variables outside of the condition. (Severity: 5)

Failed test 'Test::Perl::Critic for "blib/lib/Net/UDAP/Message.pm"'

at /usr/local/share/perl/5.26.1/Test/Perl/Critic.pm line 121.

Package declaration must match filename at line 1, column 1. Correct the filename or package statement. (Severity: 5)

Expression form of "eval" at line 14, column 1. See page 161 of PBP. (Severity: 5)

"return" statement with explicit "undef" at line 278, column 2. See page 199 of PBP. (Severity: 5)

Stricture disabled at line 370, column 5. See page 429 of PBP. (Severity: 5)

Expression form of "eval" at line 371, column 16. See page 161 of PBP. (Severity: 5)

t/perlcritic.t .... Dubious, test returned 1 (wstat 256, 0x100)
Failed 2/9 subtests
t/pod-coverage.t .. skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
t/pod.t ........... skipped: Test::Pod 1.14 required for testing POD

Test Summary Report

t/perlcritic.t (Wstat: 256 Tests: 9 Failed: 2)
Failed tests: 4, 7
Non-zero exit status: 1
Files=4, Tests=14, 10 wallclock secs ( 0.13 usr 0.02 sys + 21.05 cusr 0.96 csys = 22.16 CPU)
Result: FAIL
Failed 1/4 test programs. 2/14 subtests failed.
Makefile:854: recipe for target 'test_dynamic' failed
make: *** [test_dynamic] Error 255

Now I have to say, this looks like it might too be related to a dependency on a particular file, but I am not useful in any way with perl. Googling this for a day or so has lead me down a perl hellhole.

Please could you suggest what might be the issue and is it not possible to simply include all the specific dependencies for this module into the project on git? Surely this would avoid me having to patch it all together with no knowledge of how or what CPAN is doing or how perl environments works.

Still I sure would like to bring my squeeze receiver back to this world.
Thanks in advance.
Aidan

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.