Portál AbcLinuxu, 30. dubna 2025 11:01

Nokia communicator 9300i a Linux

30.6.2006 19:43 | Přečteno: 4279× | Nokia Communicator

Takže nakonec jsem po dlouhých peripetiích vybral tento přístroj a zaměstnavatel mi jej zakoupil. Samozřejmě jsem chtěl communicator propojit s Linuxem. Nebylo to až tak jednoduché, ale nebojte se všechno dobře dopadlo. A snad bude ještě líp - alespoň ohledně propojení.

Psal jsem si průběžně zápisky o tom, co jsem zrovna zkoušel, takže tento zápis bude možná trošku zmatečný. Ale je to zkrátka pruběh mého snažení i s nacházením "slepých uliček"tm

Po vybalení přístroje jsem zjistil, že má kabel s USB konektorem. Nemám na PC ani infra ani bluetooth, takže jsem se vydal cestou propojení přes tento kabel. Myslím si, že to bude i šetrnější k akumulátoru. Můj kabel má označení CA-53. Je to napsáno na samolepce na USB konektoru. V návodu, podle ktrého jsem postupoval, se píše o kabelu DKU-2, takže jsem celou dobu netušil, zda nebude nějaký základní problém už v jiném typu kabelu. Na webu nokie píšou sice, že jsou kompatibilní, ale víme všichni co nám dokáží výrobci nabulíkovat.

Po připojení k Linuxu communicator informuje, že bylo připojeno datové příslušenství. Na straně Linuxu lze vidět z výpisu lsusb, že jej jádro vidí:

Bus 002 Device 002: ID 0421:0453 Nokia Mobile Phones
V logu se objeví následující řádky:
usb 2-1: new full speed USB device using uhci_hcd and address 2
usb 2-1: configuration #1 chosen from 1 choice
cdc_acm 2-1:1.12: ttyACM0: USB ACM device
usbcore: registered new driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters

Mé nadšení, ale po určité době zchladil fakt, že USB Mass Storage to zkrátka nepodporuje. Ach jo, <težká ironie> není nad proprietární řešení</težká ironie>. Našel jsem k tomu i nějaké info na netu. Zajímavé, že před tím jsem si toho nevšiml.

Začali jsme tedy s panem googlem hledat jak na to. Nakonec jsem zakotvil u USB OBEX HOWTO

Na svém PC mám Fedora Core 5. Balíček openobex tu sice mám, ale existuje novější verze. Zkompiloval jsem verzi openobex-1.3. Do configure se musí přidat --with-apps, jinak se nezkompiluje obex_test. Naštěstí jde spustit i přímo ze src adresáře - nemusí se kvůli zkoušení instalovat. Blbý je, že ./obex_test -u nevypíše žádná zařízení. Ale příkaz lsusb ten komunikátor vidí.

Druhý den jsem se na to mrknul ještě jednou. Do configure jsem přidal další volby:
./configure --enable-apps --enable-debug --enable-syslog --enable-dump
A pak jsem si ve výpisu configure všiml něčeho důležitého:

checking for USB... no
přitom ten šmejd obex_test -u si úplně v klidu vypisoval:
Using USB transport, querying available interfaces

Doinstalovávám libusb-devel. Sice jsem se pohnul dál, ale bohužel ne o moc :-(
./obex_test -u

Using USB transport, querying available interfaces
Interface 0:   
Interface 1:   
Interface 2:   
Interface 3: 
nic nevidí :-(

Ha! Musí se to dělat pod rootem (myslím jsem někde tuhle informaci zahlédl)
./obex_test -u

Using USB transport, querying available interfaces
Interface 0: Nokia Nokia 9300i SYNCML-SYNC-CLIENT-INIT
Interface 1: Nokia Nokia 9300i SYNCML-SYNC
Interface 2: Nokia Nokia 9300i PC Suite Services
Interface 3: Nokia Nokia 9300i SYNCML-DM

Sakryš ta poslední verze nemá obex_ftp, tak teď nevím jak bych to mohl dál zkusit, aniž bych to musel instalovat a rozvrtat závislosti. Zkouším překompilovat a upgradeovat na verzi z repository development (momentálně openobex-1.2-2.src.rpm). Vevnitř jsou ještě nějaký patche. obex_test -u chodí. obex_ftp ale taky už neobsahuje. Aha, tak obexftp je samostatný balíček. Ve fedoře není, zkusím zkompilovat.

configure píše chybu:

checking for OPENOBEX... configure: error: Package requirements (openobex) were not met:

No package 'openobex' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables OPENOBEX_CFLAGS
and OPENOBEX_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

No jo, klasika - nenainstaloval jsem openobex-devel.

Zase chyba:

gcc -g -O2 -W -Wundef -Wmissing-declarations -Wmissing-prototypes -Wall -o  .libs/obexftp obexftp.o bt_discovery.o  ../obexftp/.libs/libobexft
p.so ../multicobex/.libs/libmulticobex.so ../bfb/.libs/libbfb.so -lopenobex -Wl,--rpath -Wl,/usr/local/lib
bt_discovery.o: In function `discover_bt':
/home/lisicky/src/obexftp-0.20/apps/bt_discovery.c:45: undefined reference to `hci_inquiry'
/home/lisicky/src/obexftp-0.20/apps/bt_discovery.c:53: undefined reference to `hci_open_dev'
...

No tak to zkusíme bez bluetooth (stejně ho nemám) --disable-bluetooth
Tak jsem sice popolezl, ale ne o moc:

undefined reference to `sdp_connect'

google radí, že by to chtělo novější bluez-libs. Takže se zase mrknem do development fedory. Stahuju bluez-libs-3.0-2.src.rpm, chce to ještě glib-devel, stačí normální distribuční. Kompilace prošla, ale na staré verzi bluez závisí bluez-pin a bluez-utils. Protože tu žádný modrozub nemám dávám: yum remove bluez-pin bluez-utils. OK zase o kousek dál, jenže teď mi ještě řve nově nainstalovaný openobex-apps-1.2-2, který je zkompilovaný se starou verzí bluez, že taky nutně potřebuje libbluetooth.so.1. yum remove openobex to řeší (stáhne sebou i závislé openobex-apps a openobex-devel).

Instaluju nové bluez:
rpm -Fvh bluez-libs-3.0-2.i686.rpm bluez-libs-devel-3.0-2.i686.rpm.
Teď bych tedy měl znova překompilovat openobex:
rpmbuild --rebuild --target=i686 openobex-1.2-2.src.rpm
rpm -ivh openobex-1.2-2.i686.rpm openobex-apps-1.2-2.i686.rpm openobex-devel-1.2-2.i686.rpm

Furt to píše stejné chyby :-( Tady už to vypadlo beznadějně, ale přišel bod z,omu. Přišel jsem na to, že v příkazu pro linkování chybí -lbluetooth Po /.configure jsem musel v appd/Makefile odpoznamkovat na 190 řádku lbluetooth o řádek výš dát \ jako že řádek pokračuje. A konečně se to zkompilovalo.

Abych to mohl vyzkoušet musím linkeru podstrčit cesty ke knihovnám: ldconfig /home/lisicky/src/obexftp-0.20/obexftp/.libs/ /home/lisicky/src/obexftp-0.20/multicobex/.libs/ /home/lisicky/src/obexftp-0.20/bfb/.libs/

Chvilku jsem se zamotal s parametrama - psalo mi to

Unknown UUID 2
Connecting...Neoprávněný přístup do paměti (SIGSEGV)
A už jsem pomalu propadal depresi, ale najednou to přišlo - připojil jsem se k mému communicatoru a konečně jo, JO, JO! Prorazil jsem to.

Takže správné parametry:
./obexftp -u
vypíše co vidí - nás zajímá číslo interface s description "PC Suite Services". U mě je to 2.

./obexftp -u 2 -l
vypíše obsah C:

./obexftp -u 2 -c "C:/Moje soubory" -l
záleží i na pořadí některých parametrů. Napřed udělá cd do adresáře "C:/Moje soubory" a pak udělá výpis adresáře.

./obexftp -u 2 "D:/data" -p soubor.txt
Do "D:/data" v communicatoru pošle soubor soubor.txt z aktuálního adresáře v Linuxu

Vše jsem musel dělat pod rootem, ale snad půjdou nastavit práva i pro normálního uživatele.

SUPER! Další krok je zprovoznit ObexFS, abych si mohl Communicator pěkně "přimountovat".

Taky bych se měl pokusit sesmolit nějaký bugreport. No to zas bude porod s tou mojí angličtinou :-(

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

2.7.2006 01:43 helb | skóre: 9 | blog: helb | Kralovice
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Odpovědět | Sbalit | Link | Blokovat | Admin
Ha..zlatej Siemens... emerge siefs && mount /mnt/mobil :-)
Ovládání hlasem? cat /dev/dsp > /dev/hda1
22.8.2006 00:42 Tomáš Rojík
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Odpovědět | Sbalit | Link | Blokovat | Admin
Používám N9500 a hledám jak synchronizovat kalendář, kontakty a dokumenty jinak než s Outlookem. Řešil jsi to?
9.10.2006 19:54 pluznik
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Odpovědět | Sbalit | Link | Blokovat | Admin
A co internet? Ten jste rozchodil?
18.10.2006 07:52 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Synchronizaci dat jsem zatím neřešil. Na to možná někdy dojde. Ale v mobilu mám telefonní kontakty a v počítači icq, email, ... takže to ani nijak nepotřebuju - snad později.

Internet mám doma přes wifi, takže propojovat PC s 9300i kvůli internetu nepotřebuju.
20.10.2006 01:01 Tomáš Rojík
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Já právě mám všechny kontakty pohromadě. V Outlooku a telefonu. A synchronizuju je. Kromě telefonů využívám i spoustu dalších polí. Rád bych se Windows zbavil, ale tohle je dnes už poslední důvod proč je používám.
20.10.2006 11:06 LuděkS | skóre: 31 | blog: publish | Liberec
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Odpovědět | Sbalit | Link | Blokovat | Admin
Zdravím a ještě jednou děkuji za odkaz. Dostal jsem se k tomu později než jsem předpokládal.. Chtěl bych k tomu jen dodat, že pokud by někdo nepotřeboval nejnovější verze balíčků, starší verze (pro FC3) lze nalézt v DAG repozitáři, konkrétně na této adrese.
20.10.2006 14:33 LuděkS | skóre: 31 | blog: publish | Liberec
Rozbalit Rozbalit vše Re: Nokia communicator 9300i a Linux
Doplnění:
Musím říci, že díky návodu výše jsem měl značně usnadněnou situaci.
Rozhodl jsem se tedy, že to zkusím "jinou cestou".
(Byl jsem byl zvědavý, jestli to lze zvládnout v případě FC5 jen za pomocí rpm balíčků v repozitářích).
Nakonec to dopadlo takto:
- starší verze balíčků
- jeden balíček je nutné použít buď z jiné distribuce nebo ho zkompilovat (v repozitářích jsem obexfs nenašel :( )

PS:
Možná by se někomu mohla hodit i možnost připojovat filesystém v telefonu k adresáři za pomocí záznamu v /etc/fstab např. nějak takto:
obexautofs#user@host:/ /mnt/phone  fuse  allow_other,defaults,noauto    0 0

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.