Home       Servicebereich  Projekte  Kontakt  


Zugriff auf die SD-Speicherkarte von Nokia Mobiltelfonen

Die Nokia Modelle E60, E61, E70 und N91 haben einen Bug in der Firmware. Der Zugriff mittels USB-Datenkabel auf das Gerät ist nicht möglich. Im Syslog werden Meldungen wie

  ...
  usb-storage: device scan complete
  end_request: I/O error, dev sdb, sector 121048
  Buffer I/O error on device sdb, logical block 60524
  end_request: I/O error, dev sdb, sector 121048
  Buffer I/O error on device sdb, logical block 60524
  ...

ausgegeben. Der Fehler liegt in der Nokia Firmware und ist bisher (11.10.2006) noch nicht gefixed worden. Der Linux-Kernel wurde ab Version 2.6.18 mit einem Workaround versehen. Dieser kann jedoch auch relativ einfach in ältere Kernel eingepatcht werden (z.B. in einen Kernel 2.6.15 [Ubuntu dapper]).

Quick-and-dirty Vorgehen

  1. Kernel Source-Paket der Distribution heruntergeladen und auspacken
  2. Die Datei drivers/usb/storage/unusual_devs.h editieren (s.u.)
  3. Kernel Module mit make modules bauen
  4. Das Modul usb-storage.ko nach /lib/modules/<kernel-version>/kernel/drivers/usb/storage kopieren
  5. Rebooten

Das binary Kernel-Modul kann hier für Ubuntu Dapper heruntergeladen werden:

  1. Kernel 2.6.15-26-k7

Änderungen in der Datei unusal_devs.h

In diese Datei wird ein UNUSUAL_DEV Eintrag für das jeweilige Gerät eingesetzt. Der Eintrag sollte so eingesetzt werden, dass die Reihenfolge ersten Hexadezimalzahl des Eintrags erhalten bleibt. Im Beispiel des E60 die Zahl 0x0421.

Nokia E60

    /* Reported by Jon Hart <[EMAIL PROTECTED]> */
    UNUSUAL_DEV(  0x0421, 0x0434, 0x0100, 0x0100,
            "Nokia",
            "E60",
            US_SC_DEVICE, US_PR_DEVICE, NULL,
            US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ),

Nokia E61

    /* Reported by Matthew Bloch  */
    UNUSUAL_DEV(  0x0421, 0x044e, 0x0100, 0x0100,
            "Nokia",
            "E61",
            US_SC_DEVICE, US_PR_DEVICE, NULL,
            US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

Nokia E70

    UNUSUAL_DEV(  0x0421, 0x0433, 0x0100, 0x0100,
            "Nokia",                                                  
            "E70",                                                    
            US_SC_DEVICE, US_PR_DEVICE, NULL,
            US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),      

Nokia N80

    /* Reported by Jiri Slaby  */
    UNUSUAL_DEV(  0x0421, 0x0446, 0x0100, 0x0100,
            "Nokia",
            "N80",
            US_SC_DEVICE, US_PR_DEVICE, NULL,
            US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

Nokia N91

    
    /* Reported by Sumedha Swamy  and
     * Einar Th. Einarsson  */
    UNUSUAL_DEV(  0x0421, 0x0444, 0x0100, 0x0100,
            "Nokia",
            "N91",
            US_SC_DEVICE, US_PR_DEVICE, NULL,
            US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ),

< zurück  | weiter >