2.3 Pi2 Librarian Issue

I had left my Pi2 running with 2.3 for a couple of days and I see that there is no data i the library yet.

I had seen some files completed in the tuner/download area, as well as the file names changing from time to time, saying 100% downloaded.

I had a look at the logs and did not spot any obvious errors. I power cycled the Pi with no change. I also restarted Librarian and FSAL, with no apparent change.

Logs are here: diags_ORxPi_2015-12-25_22-57-17.log

Brian

It appears that ONDD is just skipping everything for some reason. I can’t be sure why it does that without knowing all the things you did to your receiver. If your library is currently empty, then it’s probably safe to do a factory reset. SSH into your receiver and do:

sudo facres

EDIT: Please note that this is not an universal fix for all issues. It does wipe your receiver clean of all settings, including SSH host keys, downloaded data, user accounts, etc etc. For a softer approach:

service librarian stop
service fsal stop
service ondd stop
sudo rm -f /mnt/data/cache/*
service ondd start
service fsal start
service librarian start

OK - I did a factory reset. I am now getting some “no such file or directory” errors in the log. Posted the new logfile here:

Cheers,
Brian

tried a factory reset again and got this message from facres:

Stopping ondd: rm: can’t remove ‘/var/run/ondd.pid’: No such file or directory

This was different than the previous ‘stopping ondd’ message, which simply said it could not stop ondd … no other details.

Brian

Would you mind trying to rewrite the image to the SD card?

You’re on a Pi2, right?

Yes, that what I figured I would do. I don;t think there was anything you wanted me to do in this ‘failed’ state for troubleshooting.

I will try in a few minutes.

Brian

I have done the same thing - reloaded a fresh image onto the SD card, and it starts up in the same way as before. Just to remind everyone, the Pi starts, but the web server doesn’t start right away - I get the error 500.

I then unplug, then plug in the network cable, and the web server seems to be accessible. I go through the normal start up procedures and see that some files seem to be downloading.

Nothing ever gets into the Library.

I am using the Pi2 2.3 image.

Cheers,
Brian

PS: Branko - I can leave the Pi accessible via SSH if you like, so you can have a look around.

Brian

I got the following error after the factory reset, during the configuration setup.

Traceback (most recent call last):
  File "/usr/bin/bottle.py", line 862, in _handle
    return route.call(**args)
  File "/usr/lib/python2.7/site-packages/librarian_core/contrib/databases/plugins.py", line 11, in wrapper
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/librarian_core/contrib/sessions/plugins.py", line 37, in wrapper
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/librarian_core/contrib/auth/plugins.py", line 32, in wrapper
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/bottle_utils/i18n.py", line 387, in wrapper
    return callback(*args, **kwargs)
  File "/usr/bin/bottle.py", line 1729, in wrapper
    rv = callback(*a, **ka)
  File "/usr/lib/python2.7/site-packages/librarian_setup/plugins.py", line 25, in wrapper
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/librarian_captive/plugins.py", line 26, in wrapper
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/librarian_setup/routes.py", line 36, in enter_wizard
    return request.app.supervisor.exts.setup_wizard()
  File "/usr/lib/python2.7/site-packages/librarian_setup/wizard.py", line 39, in __call__
    return instance.dispatch()
  File "/usr/lib/python2.7/site-packages/librarian_setup/wizard.py", line 61, in dispatch
    return self.process_current_step()
  File "/usr/lib/python2.7/site-packages/librarian_setup/wizard.py", line 164, in process_current_step
    step_result = step['handler']()
  File "/usr/lib/python2.7/site-packages/librarian_library/setup.py", line 37, in setup_language
    request.app.supervisor.exts.setup.append({'language': lang})
  File "/usr/lib/python2.7/site-packages/librarian_setup/setup.py", line 59, in append
    with open(self.setup_file, 'w') as s_file:
IOError: [Errno 2] No such file or directory: '/mnt/data/librarian/librarian.json'

The first boot always takes a while, and you get the unfortunate 500 page (black text on white background), while it’s booting. It’s something we’ll make more informative in future.

That’s strange.

Yes, that would be great.

Can you post the full diags logs? You can get the logs with the diagnostics command:

diagnostics > diags.txt

Ok, so I finally figured out why there is a no-new-file issue on ORx. It boils down to my being sloppy. Apologies to all of you on ORx. For some reason, the old version of the ONDD init script ended up on the 2.3 image.

So good news is, I know what the problem is. Bad news is, I’m having networking issue at home, so I’m not sure when I’ll be able to fix it.

how to copy this file in to Windows?. Can you state the exact scp command?. I’m using PuTTY.

You can use pscp. Please be sure to use the -scp flag because pscp defaults to sftp which is not supported:

-scp      force use of SCP protocol
1 Like

Thanks Branko. Diagnostics log file can be downloaded from http://1drv.ms/1R5nDBZ

I think this might be helpful to others. :smile:

How to copy a file from Raspberry Pi to Windows using PSCP

Assume pscp.exe is located in drive D:

1. Set the path
C:\WINDOWS\system32>set PATH=D:;%PATH%

2. Verify it

C:\WINDOWS\system32>pscp
PuTTY Secure Copy client
Release 0.66
Usage: pscp [options] [user@]host:source target
       pscp [options] source [source...] [user@]host:target
       pscp [options] -ls [user@]host:filespec
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -p        preserve file attributes
  -q        quiet, don't show statistics
  -r        copy directories recursively
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -P port   connect to specified port
  -l user   connect with specified username
  -pw passw login with specified password
  -1 -2     force use of particular SSH protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for user authentication
  -noagent  disable use of Pageant
  -agent    enable use of Pageant
  -hostkey aa:bb:cc:...
            manually specify a host key (may be repeated)
  -batch    disable all interactive prompts
  -unsafe   allow server-side wildcards (DANGEROUS)
  -sftp     force use of SFTP protocol
  -scp      force use of SCP protocol

3. Copy
C:\WINDOWS\system32>pscp -scp [email protected]:/home/outernet/diags.txt d:\putty\diags.txt
[email protected]’s password:
diags.txt | 207 kB | 207.6 kB/s | ETA: 00:00:00 | 100%

C:\WINDOWS\system32>

Branko:

I finally loaded up the Pi2 2.3.001 (cant remember how many zeros), and can verify, as others have, that Librarian is back on line and reveiving files. I have seen the same library performance as kenbarbi has reported.

Is there any way to verify that I am one of the devices reporting for Galaxy on the status page?

Branko will probably answer this, but before he can tell you if you are reporting, you’ll have to SSH into your device with the following command

cat /mnt/persist/monitoring.key

to find your key that he will compare to the monitoring system he runs.

The answer is long, and should look like this in my case on Galaxy 19:

Using username “outernet”.
[email protected]’s password:
outernet@outernet:~$
outernet@outernet:~$ cat /mnt/persist/monitoring.key
6f67d3bf-d837-4fcb-b795-9987bd74d2c6

Ken

1 Like

Thanks, Ken. my key is as follows:

c765682e-90a6-47ae-bc57-3699854225f6

branko - am I reporting?

@branko and rest of community: What are the reasons why we should not expose individual keys on http://status.outernet.is/ ?

In general, I think it’s simpler to just check the logs and see if there were transmit errors in the monitoring section. That’s a very reliable way to tell if you’re transmitting or not.