- Changed location of hbplug.conf (now it's copied to /usr/local/cloudengines/ and not /usr/local/cloudengines/bin)
- I found no reliable way to generate the service id, so now on you have to do it manually. There's no default /etc/pogoplug.conf
Install with:
- Code: Select all
https://dl.dropboxusercontent.com/u/15043728/ArchLinuxArm/pogoplug-3.3.0-5-arm.pkg.tar.xz
Getting service ID and a proper CRYPTO KEY:
There are several ways to do this, I'll explain one here:
If you are copying the svcid from the bottom of the device skip this step.
1. Run
- Code: Select all
/usr/local/cloudengines/bin/hbplug | grep "Device ID"
and take note of the shown Device ID. We are interested in this line, particularly the string in red
[060343.931][MAIN ][HBPLUG][08] Device ID: 8C3CUTEY6MNGHLCV9FYVUNEZCN
2. Edit /usr/local/cloudengines/bin/hbplug.conf and add your svcid, either the one that you noted above, or the one from the bottom of the device:
- Code: Select all
nano /usr/local/cloudengines/bin/hbplug.conf
the line "svcid=" should now be "svcid=8C3CUTEY6MNGHLCV9FYVUNEZCN"
3. Now run
- Code: Select all
/usr/local/cloudengines/bin/hbplug | grep "CRYPTO"
Wait a reasonable amount of time before CTRL+C'ing it (60 sec?)
If after 5 runs it doesn't work, reboot and do the same thing until it works. It will eventually.
4. Now you should be set, just move the hbplug.conf to /etc as pogoplug.conf
- Code: Select all
mv /usr/local/cloudengines/bin/hbplug.conf /etc/pogoplug.conf
Now you can edit /etc/pogoplug.conf to include the directories that you want to be visible by the my.pogoplug.com service
Couple of points:
- config file location /etc/pogoplug.conf --> EDIT IT to get directories visible at my.pogoplug.com
- Format: vfsdir<number>=<name>,<path>
- Example: vfsdir0=plugdata,/media/2TBDrive/Downloads
- Don't change order of variables. Add more directories under each other. E.g Line1: vfsdir0=.. Line2: vfsdir1=..
- includes pogoplug.service for systemd and pogoplug initscript for sysv
Don't forget to (re)register your device at my.pogoplug.com.
Troubleshooting:
1. If everything seems OK, but my.pogoplug.com does not see your device and instead prompts you to enter the ID (Enter your ID (26 letters and numbers):) just copy-paste your svcid in the provided boxes. It should work after this.
Leaving the below for completeness:
____________________________________________________________________________________________________
Updated from 3.2.6 to 3.3 thanks to rummy
This method works on my Pink Pogoplug V2 AND my Seagate GoFlex Home. This method does not involve using the xce.ko module as descibed in the original thread here
1. Ssh into your plug
2.
- Code: Select all
cd /usr/local
3.
- Code: Select all
wget http://dl.dropbox.com/u/15043728/test/cloudengines.tar.xz
Mirror: http://www.mediafire.com/?vkutk99wfqom15q
It isn't possible to wget that link, so use your browser and copy file into /usr/local (use WinSCP, samba...)
4.
- Code: Select all
tar xvJf cloudengines.tar.gz
- Code: Select all
cd ./cloudengines
5.
- Code: Select all
./bin/hbplug
Let it run for 10 sec, then CTRL+C your way out. This will generate your unique service ID
6.
- Code: Select all
nano ./bin/hbplug.conf
Uncomment the example (or add your own from scratch, syntax is provided) and add the paths you want to be visible by my.pogoplug.com
CTRL+X to exit and answer Y to save the file
7. Now copy the config file one level up (in case it gets overwritten)
- Code: Select all
cp ./bin/hbplug.conf ..
8. Another preventative measure, remove the writing rights from everyone.
- Code: Select all
chmod -w ./bin/hbplug.conf
9. Now make sure it doesn't go searching for updates (else it will update and screw up the configuration)
- Code: Select all
echo "127.0.0.1 upgrade.pogoplug.com" >> /etc/hosts
10. EDITED FOR SYSTEMD, skip below to small text if you are still not running systemd (if you are not sure what you have run "cat /proc/1/comm"):
Create script that will be executed by the systemd service:
- Code: Select all
nano /usr/local/cloudengines/pogoplug.sh
Paste the following:
- Code: Select all
#!/bin/sh
INSTDIR=/usr/local/cloudengines
cd $INSTDIR
rm ./bin/hbplug.conf
cp ../hbplug.conf ./bin/hbplug.conf
echo -n "Starting hbplug: "
ulimit -n 65536
ulimit -c unlimited
nohup $INSTDIR/bin/hbwd $INSTDIR/bin/hbplug > /dev/null 2>&1 &
11. Make it executable:
- Code: Select all
chmod +x /usr/local/cloudengines/pogoplug.sh
12. Create a systemd service:
- Code: Select all
nano /etc/systemd/system/pogoplug.service
Paste the following into it:
- Code: Select all
[Unit]
Description=my.pogoplug.com service daemon
After=network.target
[Service]
User=root
Type=oneshot
ExecStart=/bin/sh /usr/local/cloudengines/pogoplug.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
13. Enable service so it's started at boot and start it.
- Code: Select all
systemctl enable pogoplug.service
systemctl start pogoplug.service
Go to step 14, below is instructions for initscripts
10. Create startup script:
- Code: Select all
nano /etc/rc.d/pogoplug
Paste the following:
- Code: Select all
#!/bin/sh
INSTDIR=/usr/local/cloudengines
RETVAL=0
start()
{
cd $INSTDIR
chmod +w ./bin/hbplug.conf
rm ./bin/hbplug.conf
cp ../hbplug.conf ./bin/hbplug.conf
chmod -w ./bin/hbplug.conf
echo -n "Starting hbplug: "
ulimit -n 65536
ulimit -c unlimited
nohup $INSTDIR/bin/hbwd $INSTDIR/bin/hbplug > /dev/null 2>&1 &
echo "Success"
return $RETVAL
}
stop() {
echo -n "Shutting down hbplug: "
if pidof hbwd > /dev/null; then
killall hbwd > /dev/null 2>&1
retries=120
while pidof hbwd > /dev/null && [ $retries -gt 0 ]; do
sleep 1;
let retries--
done
if [ $retries -eq 0 ]; then
echo "Failure"
else
echo "Success"
fi
else
echo "Not Running"
fi
return $RETVAL
}
restart() {
stop
start
}
#
# Usage statement.
#
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "usage: $0 {start|stop|restart}"
exit 1
;;
esac
CTRL+X to exit and answer Y to save
11. Make it executable
- Code: Select all
chmod +x /etc/rc.d/pogoplug
12. If you wish for the service to be started at boot, add "pogoplug" (without quotes) to the list of daemons in /etc/rc.conf
13. Start the service:
- Code: Select all
/etc/rc.d/pogoplug start
14. Go to my.pogoplug.com and ActivateDevice (at the very bottom of the page)
Enjoy.
NOTE: If you decide to to modify hbplug.conf later on, edit the one in /usr/local, NOT the one in /usr/local/cloudengines/bin. Then restart the service ("/etc/rc.d/pogoplug restart" for sysvinit) "killall hbwd" then "systemctl start pogopplug.service". hbplug.conf will be copied to .../bin automatically
Troubleshooting:
If something isn't working, check your config first. Make sure the vfsdir0 is set correctly and path exists. Make sure the variable is called vfsdir[#] and not fsdir[#]. I've had some instances when after running hbplug, vfsdir became fsdir.
Run hbplug and check the log,
- Code: Select all
./bin/hbplug | grep "CRYPTO KEY"
if you see "CRYPTO KEY: UNSET" do the following:
- Code: Select all
cd /usr/local/cloudengines/etc
rm -r ./*
cd ..
now run hbplug as many times as needed untill you see "CRYPTO KEY: VALID" in the the log.
- Code: Select all
./bin/hbplug | grep "CRYPTO KEY"
Still no key? Reboot and try again.
