Raspberry (Raspbian) och Libimobiledevice (för kommunikation med iPhone)

Trädvy Permalänk
Medlem
Registrerad
Jan 2015

Raspberry (Raspbian) och Libimobiledevice (för kommunikation med iPhone)

Hej,

jag har försökt ett tag att montera min iPhone på en RPI. Tanken är att jag ska köra ett shell script som hämtar ut data från telefonen. Shell scriptet funkar perfekt på Macen och kan via Libimobiledevice och iDevices hämta ut olika data från telefonen då den är ansluten med USB. Libimobiledevice installerade jag via home brew på Macen.

Nu vill jag köra samma setup fast på en Raspberry Pi. Detta skall vara möjligt med Libimobiledevice och det finns guider att följa. Jag får det dock inte att lira. Jag tror att jag lyckas montera telefonen med ifuse (dock osäker), nr jag kör mitt shell script får jag får detta meddelande 'Could not connect to lockdownd, error code -21'.
Jag har följt denna guide
https://gist.github.com/keyvanfatehi/8922430#file-raspbian-in...

Problematiken med 'Could not connect to lockdownd' tror jag kan ha med att usbmuxd inte körs/installerats helt rätt?! När jag kör :

pi@raspberrypi ~/usbmuxd $ sudo make

Får jag detta:

make all-recursive make[1]: Entering directory '/home/pi/usbmuxd' Making all in src make[2]: Entering directory '/home/pi/usbmuxd/src' CCLD usbmuxd /usr/bin/ld: usbmuxd-utils.o: undefined reference to symbol 'clock_gettime@@GLIBC_2.4' //lib/arm-linux-gnueabihf/librt.so.1: error adding symbols: DSO missing from command line collect2: ld returned 1 exit status Makefile:349: recipe for target 'usbmuxd' failed make[2]: *** [usbmuxd] Error 1 make[2]: Leaving directory '/home/pi/usbmuxd/src' Makefile:353: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/home/pi/usbmuxd' Makefile:284: recipe for target 'all' failed make: *** [all] Error 2

Är det någon som har en idé om vad som inte lirar? Eller är det någon som skulle kunna tänka sig att hjälpa till med att göra en clean installation? Jag känner mig rätt lost.

mvh
K

Trädvy Permalänk
Medlem
Plats
Norrland
Registrerad
Apr 2007

Det här ser ut som ett liknande problem;
https://stackoverflow.com/questions/25637276/official-v4l2-dr...

Testa att ändra detta i respektive fil.

Citat:

First file: /v4l-utils/utils/v4l2-compliance/Makefile

Second file: /v4l-utils/utils/v4l2-ctl/Makefile

This line a line that read "LDFLAGS =" to "LDFLAGS = -lrt"

Trädvy Permalänk
Medlem
Registrerad
Jan 2015

Hej, tack för svaret.
Jag kommer framstå som väldigt okunnig (om jag inte redan gjort det; har hållit på med linux väldigt kort tag) men hur ändrar jag i respektive fil och i vilken/vilka filer ska jag ändra i? Är det 'make' och 'make install' ?

När jag 'packade' upp USBMXD såg det ut såhär (efter detta skrev jag 'make'…):

Configuration for usbmuxd 1.1.1: ------------------------------------------- install prefix ............: /usr/local preflight worker support ..: yes activation method .........: systemd systemd unit directory ....: udev rules directory ......: /lib/udev/rules.d compiler ..................: gcc Now type 'make' to build usbmuxd 1.1.1, and then 'make install' for installation.

Trädvy Permalänk
Medlem
Plats
Söder
Registrerad
Jun 2008

Du borde inte använda sudo när du använder make för att kompilera.

./autogen.sh
borde fixa alla inställningar som behövs och kontrollerar så att allt finns tillgängligt.
make kompilerar.
sudo make install installerar.

Alla steg måste fullföljas. Alla fel i steg ett och två måste åtgärdas innan du kan gå vidare till påföljande steg. Precis som beskrivet i tidigare inlägg så kompileras programmet som det ska men den lyckas inte länka ihop det till den slutgiltiga produkten. Innan du kör autogen.sh så kör först raden

export LIBS=-lrt ./autogen.sh make sudo make install

eller allt på en gång i en rad

LIBS=-lrt ./autogen.sh make sudo make install

eller lite slött och genom att fuska så kör bara och se om det går igenom. (Fungerar säkert inte eftersom du körde sudo tidigare).

LIBS=-lrt make

Eftersom du skrev att du använde sudo tillsammans med make tidigare så kanske du får lite problem med rättigheterna till filerna. Börja om, eller fortsätt för tillfället att använda sudo, men endast i det här fallet. sudo gör så att följande kommando körs som superanvändare.

Trädvy Permalänk
Medlem
Registrerad
Jan 2015

Tusen tack, ska prova detta i morgon: Ang. sudo så kanske det kan vara smart att logga in på RPI som 'root' istället för 'pi'. Det borde lösa sudo.

Trädvy Permalänk
Medlem
Plats
Söder
Registrerad
Jun 2008
Skrivet av Kretsen:

Tusen tack, ska prova detta i morgon: Ang. sudo så kanske det kan vara smart att logga in på RPI som 'root' istället för 'pi'. Det borde lösa sudo.

Nja, det är inte alls smart att logga in som root eftersom du då utsätter ditt system för onödigt mycket risk. Du behöver bara extra rättigheter när du installerar med make install. Bättre att börja om på nytt genom att ta bort den gamla mappen och börja från början igen.

git clone https://github.com/libimobiledevice/libusbmuxd.git export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig export LIBS=-lrt cd libusbmuxd ./autogen.sh make sudo make install

Eller testa helt enkelt i en ny mapp bara.

git clone https://github.com/libimobiledevice/libusbmuxd.git libusbmuxd2 export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig export LIBS=-lrt cd libusbmuxd2 ./autogen.sh make sudo make install

Trädvy Permalänk
Medlem
Registrerad
Jan 2015

[QUOTE="Korkskruv;15186803"]Nja, det är inte alls smart att logga in som root eftersom du då utsätter ditt system för onödigt mycket risk. Du behöver bara extra rättigheter när du installerar med make install. Bättre att börja om på nytt genom att ta bort den gamla mappen och börja från början igen.

git clone https://github.com/libimobiledevice/libusbmuxd.git export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig export LIBS=-lrt cd libusbmuxd ./autogen.sh make sudo make install

Hej, jag testade att göra om allt så som du föreslog och fick inte längre fel-meddelandet. Tack så mkt. för hjälpen.
Jag lyckas nu montera telefonen, men jag kommer inte åt den via iDevice.

När jag kör

ideviceinfo

får jag fortfarande

ERROR: Could not connect to lockdownd, error code -21

Har inte lyckats förstå vad felmeddelandet beror på, men en okvalificerad gissning är att kommunikationen inte tillåts i ngt led

EDIT

Jag kollade upp errorkoden i
https://github.com/libimobiledevice/libimobiledevice/blob/mas...

och den refererar till
LOCKDOWN_E_INVALID_HOST_ID

Vilket de skriver såhär om:
* LOCKDOWN_E_INVALID_HOST_ID if the device does not know the supplied HostID,
* LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's host id
Någon som har en eller flera tankar?

Trädvy Permalänk
Medlem
Registrerad
Jan 2015

Tänkte bara uppdatera att jag gjorde en ny installation som root och då funkade allt.
Tack för alla svar.