Nowe posty

Autor Wątek: IrDA w laptopie Asus  (Przeczytany 1711 razy)

adkrz

  • Gość
IrDA w laptopie Asus
« dnia: 2006-11-08, 17:36:07 »
Próbuję podłączyć telefon (Siemens C75) poprzez IrDA do laptopa (Asus A6B00L, Kubuntu 6.06, orygianlny kernel) w celu wymiany plików. Laptop ma jakąś bliżej niezidentyfikowaną irdę (lspci/lshw nic nie pokazuja), jak się dowiedziałem z google w podobnych laptopach tej firmy jest instalowany chip obsługiwany przez moduł o nazwie bodajże nsc_ircc. Zainstalowałem irda-utils. No to robię:

modprobe irda
modprobe ircomm
modprobe ircomm_tty
modprobe nsc_ircc
setserial /dev/ttyS1
irattach /dev/ttyS1

Dmesg nie zwraca błędów. Teraz włączam irdadump -d i włączam w telefonie funkcję przesyłania pliku przez podczerwień. Irdadump odbiera kilka (od 4 do 6) pakietów i się zawiesza a telefon wyświetla "Błąd". Komunikacja działa w obie strony, ponieważ telefon przyjmuje jakieś dane (gdy nie odbiera żadnych danych to nie wyświetla komunikatu 'Błąd" tylko 'Brak urządzenia'). Wydawałoby się, że IrDA działa, ale nie do końca. Otóż po odebraniu tych pakietów podczerwień "zawiesza się" tzn. dopóki nie zrestartuję kompa w ogóle już nie jest w stanie niczego odebrać. Po użyciu irdy przy zamykaniu systemu Linux zawiesza się na zamykaniu połączenia podczerwieni.
Próbowałem po prostu załadować moduły i bez testowania, od razu przesłać dane do telefonu (przez ircp oraz program scmxx do siemensów) - bez skutku. Ircp pokazuje błąd połączenia, scmxx I/O error.
Dodam tylko, że na słusznym systemie działa normalnie, zarówno poprzez dedykowany soft (Mobile Phone Manager) jak i przez windowsowy "Wyślij pliki do innego komputera" (irftp) - wnioskuję zatem że przynajmniej ircp powinno zadziałać.

Co robię nie tak?

adkrz

  • Gość
IrDA w laptopie Asus
« Odpowiedź #1 dnia: 2006-11-22, 10:16:44 »
Jeśli to coś pomoże dorzucam logi:

1. Dmesg po załadowaniu modułów i irattach'a:
[4295321.440000] IrCOMM protocol (Dag Brattli)
[4295349.807000] sirdev_get_instance - ttyS1
[4295349.807000] irtty_open - ttyS1: irda line discipline opened
[4295350.817000] irlap_change_speed(), setting speed to 9600

2. Irdadump
11:07:00.490112 (14230.25 ms) xid:cmd ffffffff < 00210740 S=6 s=0 (14)
11:07:00.577050 (0086.94 ms) xid:cmd ffffffff < 00210740 S=6 s=1 (14)
11:07:00.665045 (0088.00 ms) xid:cmd ffffffff < 00210740 S=6 s=2 (14)
11:07:00.753023 (0087.98 ms) xid:cmd ffffffff < 00210740 S=6 s=3 (14)
11:07:00.753084 (0000.06 ms) xid:rsp 13eabc4b > 00210740 S=6 s=3 laptop hint=0400 [ Computer ] (22)

5 packets received by filter

3. Po 'zawieszeniu się' dmesg pokazuje:
[4295482.704000] irlap_state_reply(), QUERY_TIMER_EXPIRED <515408>