Scanner unter Linux: Brother DSmobile 620: Error during device I/O

Auf der Suche nach einem Einzugscanner, der schneller arbeitet als mein alter Scanner, unter Linux läuft und halbwegs bezahlbar ist, bin ich auf den Brother DSmobile 620 gestoßen.

Für Arch Linux gibt es sogar ein Paket im AUR für die passenden Sane-Treiber. Der Scanner lief damit problemlos, ob mit xsane, gscan2pdf oder selbstgebauten bash-scripts zum schnellen Scannen.

Nach einigen Tagen ohne Scannen wollte das Ding aber nicht mehr:

scanimage: open of device dsseries failed: Error during device I/O

Bekomme ich nur noch als Fehlermeldung, sane findet den Scanner einfach gar nicht mehr. Alle Forensuche endet im Nirvana, die FAQ auf der Brother-Website sowieso. Zum Äußersten schreiten und das Gerät an einen Windows-Rechner hängen zeigt: Am Scanner liegt's nicht, der läuft. Firmware aktualisiert: auch kein Effekt (aber war sicher auch mal sinnvoll).

Die Lösung nach vielem Suchen: Ein SCSI Modul muss geladen sein. Leider macht sane das nicht selbst. Nach einem simplen

modprobe sg

läuft alles wieder...

Thinkpad thinkfan: hwmon-Gerätedateien ändern sich bei jedem Reboot

Um thinkfan für die Lüfterverwaltung beim thinkpad verwenden zu können, muss man in der Config-Datei die entsprechenden Temperatursensoren eintragen. Bei mir sind das:

hwmon /sys/devices/virtual/hwmon/hwmon1/temp1_input
hwmon /sys/devices/virtual/hwmon/hwmon2/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon3/temp3_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon3/temp1_input
hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon3/temp2_input

Problematisch: Bei einem Reboot änderten sich die Namen geringfügig, z.b. hwmon1 und 3 statt 0 und 2. Dadurch brach thinkfan nach jedem Reboot direkt nach dem Start mit einer Fehlermeldung ab, weil die eingetragenen Sensoren nicht gefunden werden konnten

Hier und hier kommt die Lösung her, mit der sich die Dateinamen nicht mehr ändern:

Mit Hilfe von sensors-detect die nötigen Kernelmodule herausfinden, die werden dann automatisch in /etc/conf.d/lm_sensors geschrieben. Anschließend genau diese Module dann "blacklisten", sodass sie nicht mehr automatisch geladen werden beim Systemstart und in der lm-sensors Konfigurationsdatei dann in einer festen Reihenfolge angeben, damit die Nummerierungen immer gleich bleiben.

Für das X250:

/etc/modprobe.d/thinkfan.conf

blacklist i2c-dev
blacklist cpuid
blacklist coretemp
blacklist i2c_i801

/etc/conf.d/lm_sensors

HWMON_MODULES="i2c-dev i2c_i801 cpuid coretemp"

HWMON_MODULES="i2c-dev i2c_i801 cpuid coretemp"

Dann Neustarten und die thinkfan.conf ein letztes mal den aktuellen Sensorennamen entsprechend anpassen.

So bleibt es bei mir stabil. Danke an die arch bbs und ubuntuforums.org für die Lösung.

Thinkpad x250 Bios Update 1.20

Für das X250 gibt's das Bios-Update auf 1.20. Changelog:

[Important updates]
  Nothing.

[New functions or enhancements]
- Updated the CPU microcode.
- Changed the timeout value of EFI system firmware to 90 seconds to support EFI
  application using Intel PTT.

[Problem fixes]
- Fixed an issue where BIOS update might fail after illegal shutdown.
- Fixed an issue where SRSETUP might not work with password.
- Fixed an issue where password prompt might be appeared when network boot.
- Fixed an issue where the computer might shutdown in a certain case.

Aktualisieren mit USB Stick (nach https://fabio-bregulla.de/lenovo-thinkpad-x250-mit-archlinux/ ):

geteltorito -o bios.img n10ur09w.iso
sudo dd if=bios.img of=/dev/sdX

Der Link auf der Lenovo Seite ist falsch, der Iso-Link bringt einen auch zur Readme. txt durch iso ersetzen hilft: https://download.lenovo.com/pccbbs/mobiles/n10ur09w.iso

Bios Update beim Lenovo Thinkpad X250

Für das X250 gab es Ende September ein Bios-Update. Von 1.15 auf 1.17, aus dem Changelog:

[Important updates]
- Security fix addresses LEN-2015-002 SMM "Incursion" Attack and some security fixes.
  (Note)
  If the UEFI BIOS has been updated to version 1.17 or higher, it is no longer
  able to roll back to the version before 1.17 for security improvement.

Zu finden auf der Lenovo-Website. Wie man einen USB Stick statt einer CD zum Update verwendet wird auf der Seite von Fabio Bregulla erklärt.

Lüftersteuerung unter Linux beim X250 mit thinkfan

Das neue Notebook gewöhnt sich gerade ein - oder eher: Ich gewöhne mich daran. Sehr irritiert hat mich aber noch der gefühlt ständig laufende Lüfter - bei eigentlich kaum nennenswerter Beanspruchung (abgesehen von den sehr sommerlichen Temperaturen gerade).

Das Modul thinkpad_acpi ist geladen (mit fan_control=1). Leider fehlt bei mir /proc/acpi/ibm/thermal, also die Temperatursensoren werden scheinbar vom Modul (noch) nicht erkannt. Beim X201 hatte (glaube ich) tpfanco die Lüftersteuerung übernommen. Das scheint aber ohne /proc/acpi/ibm/thermal erst einmal nicht zu funktionieren (oder ich habe nicht genug recherchiert). Beim Suchen nach einer Lösung für dieses Problem bin ich auf eine schöne Anleitung bei thinkwiki.de gestoßen, die das Suchen von Sensoren über lm-sensors erklärt. Zusammen mit dem Tool thinkfan lässt sich die Lüftersteuerung dann ganz leicht individuell steuern:

  • Als Erstes nach der Anleitung die Sensoren ausfindig machen. Das sind bei meinem X250:
    /sys/devices/virtual/hwmon/hwmon0/temp1_input
    /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
    /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
    /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
  • Dann eine thinkfan config Datei anlegen (nach der Vorlage unter /usr/share/doc/thinkfan/examples/thinkfan.conf.simple). Meine sieht jetzt erst einmal so aus:
    tp_fan /proc/acpi/ibm/fan
    
    # X250
    hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
    hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
    
    (0,	0,	58)
    (1,	57,	62)
    (2,	60,	64)
    (3,	62,	65)
    (4,	63,	66)
    (5,	65,	67)
    (7,	66,	32767)

    Achtung! Die Werte sind noch nicht viel getestet und könnten zu hoch liegen und damit das Gerät beschädigen!

  • thinkfan als root im Testbetrieb starten, sodass man sieht was passiert:
    thinkfan -n
  • Wenn alles passt, thinkfan automatisch als daemon starten lassen (mit systemd, sysvinit, was auch immer man verwendet).

Ich hoffe das funktioniert auch weiterhin so gut. Dann wäre das Lüfter-Problem gelöst.

Rechnerwechsel und pulseaudio

Kürzlich habe ich mir ein neues Notebook zugelegt. Sehr angenehm bei Linux: Alte Festplatte in neuen Rechner einbauen, booten, alles gut. Okay, hätte der "Neue" einen nicht-Intel Grafikchip wäre evtl. vor erfolgreichem Xorg-Start noch eine Treiberinstallation nötig gewesen, aber auch so: Keine Neuinstallation, keine Rettungs-CD, etc.

Einzig: Kein Sound. Ich verwende seit einiger Zeit neben Alsa noch pulseaudio, um mehrere Audiostreams parallel ausgeben zu können (Kalendererinnerung während ein Film läuft, zum Beispiel). Aber leider ist die Konfiguration von pulseaudio kompliziert, freundlich ausgedrückt. Bevor ich mich daran gewagt habe, war aber ein Löschen der benutzereigenen temporären und Konfigurationsdateien ein Versuch wert:

rm -rf ~/.config/pulse && rm -rf ~/.pulse-cookie

Und siehe da: Nach einem Neustart hatte ich Sound!