Archives for category: frickelig

Mein Miix 320 lässt sich herrlich als Tablet verwenden! Ich nehme es im Bus zum Lesen – Bücher, c’t, heise+, News. Für letztere brauch man Internet (sic!). Klar, das Miix  320 hat ein integriertes LTE-Modem. Leider zeigt sich auch hier ein Problem, dass ich schon auf meinem eee PC hatte: Wenn der Rechner aus dem S3 erwacht, funktioniert ab und an das Modem nicht. Das Ab- und wieder Anschalten im Networkmanager bringt nix, es bleibt dabei, er kriegt keine Verbindung. Im journal findet man dann endlos sowas:

Nov 27 21:48:34 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (registering -> home)
Nov 27 21:48:34 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (home -> idle)
Nov 27 21:48:35 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (idle -> registering)
Nov 27 21:48:35 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (registering -> home)
Nov 27 21:48:35 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (home -> idle)
Nov 27 21:48:36 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (idle -> registering)
Nov 27 21:48:36 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (registering -> home)
Nov 27 21:48:36 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (home -> idle)
Nov 27 21:48:37 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (idle -> registering)
Nov 27 21:48:37 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (registering -> home)
Nov 27 21:48:37 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (home -> idle)
Nov 27 21:48:38 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/24: 3GPP Registration state changed (idle -> registering)

Netz kriegt man aber nicht, irgendwann gibt der Networkmanager auf. Wahrscheinlich hat sich das Modem in irgendeiner Form aufgehängt. Bei einem internen Modem am USB ist rausziehen und wieder reinstecken irgendwie keine Option. Was macht man dann? Neustart des ganzen Rechners? Nicht sehr elegant. Eigentlich muss es doch möglich sein, einen Reset des USB-Gerätes zu erzwingen. Und das geht tatsächlich! Die Antwort habe ich auf askubuntu.com gefunden.

Man muss herausfinden, wo genau am USB das Modem hängt:

root@progress:/# lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/7p, 480M
|__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 4: Dev 4, If 0, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 4: Dev 4, If 1, Class=Human Interface Device, Driver=usbhid, 12M
|__ Port 3: Dev 3, If 0, Class=Wireless, Driver=btusb, 12M
|__ Port 3: Dev 3, If 1, Class=Wireless, Driver=btusb, 12M
|__ Port 4: Dev 5, If 1, Class=CDC Data, Driver=cdc_mbim, 480M
|__ Port 4: Dev 5, If 0, Class=Communications, Driver=cdc_mbim, 480M

Mein Modem hängt an Bus 01, Port 4. Jetzt werfen wir das Modem aus:

root@progress:/# echo ‘1-4’ > /sys/bus/usb/drivers/usb/unbind
1-4

1-4 ist das Echo auf der Console. Anschließend hängen wir es wieder ein

root@progress:/# echo ‘1-4’ > /sys/bus/usb/drivers/usb/bind
1-4

Voilà, Modem wieder da und ich darf Internet. journalctl:

Nov 27 22:55:16 progress kernel: cdc_mbim 1-4:1.0: cdc-wdm1: USB WDM device
Nov 27 22:55:16 progress kernel: cdc_mbim 1-4:1.0 wwan0: register ‘cdc_mbim’ at usb-0000:00:14.0-4, CDC MBIM, ce:f3:11:c8:59:ea
Nov 27 22:55:16 progress systemd-udevd[24550]: Using default interface naming scheme ‘v240’.
Nov 27 22:55:16 progress systemd-udevd[24550]: link_config: autonegotiation is unset or enabled, the speed and duplex are not writable.
Nov 27 22:55:16 progress kernel: cdc_mbim 1-4:1.0 wwp0s20u4: renamed from wwan0
Nov 27 22:55:16 progress mtp-probe[24559]: checking bus 1, device 5: “/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4”
Nov 27 22:55:16 progress mtp-probe[24559]: bus: 1, device: 5 was not an MTP device
Nov 27 22:55:16 progress systemd-udevd[24545]: Using default interface naming scheme ‘v240’.
Nov 27 22:55:18 progress ModemManager[638]: opening device…
Nov 27 22:55:18 progress ModemManager[638]: [/dev/cdc-wdm1] Read max control message size from descriptors file: 512
Nov 27 22:55:18 progress ModemManager[638]: [/dev/cdc-wdm1] channel destroyed
Nov 27 22:55:18 progress ModemManager[638]: [device /sys/devices/pci0000:00/0000:00:14.0/usb1/1-4] creating modem with plugin ‘Fibocom’ and ‘2’ ports
Nov 27 22:55:18 progress ModemManager[638]: Modem for device ‘/sys/devices/pci0000:00/0000:00:14.0/usb1/1-4’ successfully created
Nov 27 22:55:18 progress ModemManager[638]: opening device…

Nov 27 22:55:29 progress NetworkManager[651]: [1574891729.3901] modem[“cdc-wdm1”]: modem state changed, ‘disabled’ –> ‘enabling’ (reason: user preference)
Nov 27 22:55:29 progress ModemManager[638]: Modem: state changed (unknown -> disabled)
Nov 27 22:55:29 progress NetworkManager[651]: [1574891729.3915] manager: (cdc-wdm1): new Broadband device (/org/freedesktop/NetworkManager/Devices/30)
Nov 27 22:55:29 progress NetworkManager[651]: [1574891729.3951] device (cdc-wdm1): state change: unmanaged -> unavailable (reason ‘managed’, sys-iface-state: ‘external’)
Nov 27 22:55:29 progress NetworkManager[651]: [1574891729.3984] device (cdc-wdm1): modem state ‘enabling’
Nov 27 22:55:39 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/26: state changed (enabling -> enabled)
Nov 27 22:55:39 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/26: 3GPP Registration state changed (unknown -> registering)
Nov 27 22:55:39 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/26: 3GPP Registration state changed (registering -> home)
Nov 27 22:55:39 progress ModemManager[638]: Modem /org/freedesktop/ModemManager1/Modem/26: state changed (enabled -> registered)
Nov 27 22:55:39 progress NetworkManager[651]: [1574891739.6730] modem[“cdc-wdm1”]: modem state changed, ‘enabling’ –> ‘enabled’ (reason: user-requested)
Nov 27 22:55:39 progress NetworkManager[651]: [1574891739.6749] modem[“cdc-wdm1”]: modem state changed, ‘enabled’ –> ‘registered’ (reason: unknown)

Damit ist das Modem auch wieder aus dem Networkmanager heraus benutzbar.

Die beiden Zeilen packen wir mit einem kurzen sleep in ein bashscript

#!/bin/bash
echo ‘1-4’ > /sys/bus/usb/drivers/usb/unbind
sleep 3
echo ‘1-4’ > /sys/bus/usb/drivers/usb/bind

Damit ich es immer erreiche, hab ich mir einen Link mit gksu ins Startmenü Whiskermenü gelegt.

Update:

Suspend/Wakeup script

Natürlich ist mir das Aufrufen des Scripts zum Reaktivieren des Modems sehr schnell auf die Nerven gegangen. Viel komfortabler ist es doch, einfach das Modem vorm Suspend abzuschalten und beim Aufwachen es wieder einzubinden. Sowas geht unter Ubuntu ganz einfach mit systemd. Natürlich habe ich nicht erst manpages dazu gewälzt: googlen brachte Just another Linux geek ans Licht. Man muss offenbar nichts weiter tun, als ein Script an die richtige Stelle zu legen. Für Ubuntu ist die Stelle /usr/lib/systemd/system-sleep/, systemd führt einfach alles darin aus, wenn das System in den Sleep geschickt oder aufgeweckt wird. Dabei übergibt systemd “pre” vorm Suspend und “post” beim Aufwachen.

Mein Script heißt network und muss natürlich ausführbar gemacht werden: chmod a+x ./network. Drin steht folgendes:

#!/bin/bash
## Dieses scrip sorgt beim suspend für
## – korrektes abschalten/einschalten des Modems
if [ “${1}” == “pre” ]; then
# vorm suspend
/usr/bin/logger “turning off wwan radio”
/usr/bin/nmcli radio wwan off
echo ‘1-4’ > /sys/bus/usb/drivers/usb/unbind
elif [ “${1}” == “post” ]; then
# nach dem suspend (aufwachen)
/usr/bin/logger “turning on wwan radio”
echo ‘1-4’ > /sys/bus/usb/drivers/usb/bind
/usr/bin/nmcli radio wwan on
fi

Den nmcli habe ich noch dazu angestellt, damit der Networkmanager das Modem nicht einfach unterm Hintern weggeschossen bekommt. Yay! Mehr Komfort unter Linux!
(swg)

Mehrere Erfahrungsberichte haben nahe gelegt, dass das Lenovo Ideapad Miix 320 unter Linux laufen wird. Sehr wahrscheinlich wird das meiste direkt funktionieren, zumal die meisten noch Ubuntu-Mate 18.04 mit 4er Kernel installiert hatten. Andere haben Arch versucht oder Debian, ebenfalls erfolgreich. Ich starte direkt mit Xubuntu 19.10 und einem 5er Kernel.

Was man vorher unbedingt tun sollte – und zwar noch unter Windows – ist ein BIOS-Update. Auf meinem war noch ein 7.irgendwas, aktuell ist das BIOS 8.4. Es beugt einigen Ungereimtheiten vor, wahrscheinlich hängt das Blackscreen-Problem teils damit zusammen und zuletzt wurde nochmal was am Wifi gemacht.

Windows, ade! Scheiden tut weh.

von wegen ;) Auf einen USB-Stick hab ich das Xubuntu 19.10-Image kopiert. Mit [Fn+F2] während des (hässlichen!) Lenovo-Splash-Screens kommt ihr ins BIOS, dort stellt ihr “Secure-Boot” auf disabled. Wenn der Stick steckt: neu starten, dann kann man per [Fn+F12] ins Bootmenü gelangen. Mit einem 19er Ubuntu ist der Zauber von Kernel-Parametern nicht mehr nötig, die Installation läuft einfach durch. Windows lasse ich direkt von der Platte putzen, Xubuntu darf sich die gesamte 64GB-SSD einverleiben.

Out of the Box funktionieren bei Xubuntu 19.10 (also mit XFCE):

  • Display – auch wenn es erstmal nach links gedreht ist,
  • Helligkeitsreglung,
  • Touchpad,
  • Touchscreen (multitouch),
  • Wifi,
  • LTE-Modem (ist ein FIBOCOM L813-EAU per internem USB),
  • Batterie- und Ladeanzeige,
  • Sound

Suspend2RAM geht manchmal, manchmal auch nicht, irgendwas weckt das Tab gleich wieder auf. Unwichtig vorerst, immerhin geht beim Zuklappen das Display aus und – wichtig – beim Aufklappen wieder an.

Die beiden Kameras funktionieren nicht, ebenso tut die automatische Dreherei des Displayinhalts nicht – aber da kümmer ich mich später drum. Erstmal muss der Bildschirm richtig gedreht werden. In der Lightdm-Konfiguration legen wir ein Startscript fest: In /etc/lightdm/lightdm.conf.d/ legen wir als root eine Datei namens 80-display-setup.conf an:

[SeatDefault]
greeter-setup-script=/etc/lightdm/greeter_setup.sh

Das bash-script muss natürlich als root angelegt und folgendermaßen befüllt werden:

#!/bin/bash
# Loginscreen auf querformat
xrandr -o right
xinput set-prop “FTSC1000:00 2808:1015” –type=float “Coordinate Transformation Matrix” 0 1 0 -1 0 1 0 0 1

Ausführbar gemacht chmod u+x /etc/lightdm/greeter_setup.sh erscheint der Login korrekt gedreht. Die xinput-Zeile sorgt dafür, dass der Touchscreen mit gedreht wird.

Aber dein Scheiden macht, daß jetzt mein Herze lacht.

Soweit bin ich erst einmal zufrieden. Die Installation lief angenehm unspektakulär, sowas schafft auch ein Neuling in Sachen Linux. Danke an die ganze Community, die hier einfach saubere Arbeit geleistet hat :)

Nach wenigen Tagen habe ich festgestellt, das bei meiner Art der Nutzung der Akku locker 10 h durchhält. An die Tastatur habe ich mich schnell gewöhnt, nur die F-Tasten über Fn+ erreichen zu müssen ist manchmal etwas mühsam. Und ich hätte gern einen ordentlichen Tablet-Mode: Wenn ich das Tab vom Display ziehe soll das automatische Drehen des Displays funktionieren und die Bildschirmtastatur aktiviert werden. Kommt Zeit, kommt Script…

Liedtext in der Wikipedia

(swg)

Seit über zehn Jahren nutze ich nun meinen Asus Eee PC 901 Go. Meist hat er gut funktioniert, hin und wieder hat das UMTS-Modem rumgezickt. Aber immer hat er mir eigentlich gute Dienste gleistet, beim Bloggen von unterwegs und manchmal auch beim Geocachen. Inzwischen ist das Alter der Hardware doch deutlich zu spüren: So ein Atom N280 hat halt noch nie Bäume ausgerissen. Daran ändern auch 2 statt 1 GB RAM nicht so viel, oder eine SSD.Er hat mich sehr oft begleitet. Eigentlich immer, wenn ich mehr als einen halben Tag draußen war – das sieht man auch öfter mal im Blog.

alte Liebe rostet doch

Seit drei Jahren schaue ich regelmäßig nach Ersatzkandidaten: Mobilfunk, WLAN, brauchbare Akkulaufzeit (mindestens die 5 h des Eee) und linuxfähig. Außerdem der Preis: Die 270,- € von Asus waren damals eine klare Kampfansage. Viel mehr wollte ich auch nicht anlegen, vor allem aus einem Grund: Ein so ultramobiles Gerät geht auch schnell mal verlustig. In der Kategorie Ultrabook täte das bei ca. 1000,- € ziemlich weh. Akut wurde es, weil mein weißer Eee vorletztes Jahr plötzlich verstarb: Mainboard defekt. Da der Markt nichts gescheites hergab, habe ich mir nochmal den Eee in gleicher Ausstattung auf ebay-kleinanzeigen beschafft.Mit Ubuntu war ich nun wieder eine Zeit lang glücklich. Die Hardware ist aber eben immer noch mehr als 10 Jahre alt. Inzwischen sind auch meine Bilder, die ich fürs Blog vorbereiten muss, durch die α6000 so groß geworden, dass es eine Qual geworden ist, die vom IMG-Helpr klein rechnen zu lassen. Wollte ich parallel dazu im Browser schreiben, durfte ich den Buchstaben beim Erscheinen zugucken.

andere Mütter haben auch…

Für einen Ersatzkandidaten war ich im Neuzustand zu geizig: Das Lenovo Ideapad Miix 320 stach mir vor zwei Jahren ins Auge. Mit LTE, 4 GB RAM und 64 GB SSD sollte der fast 400,- € kosten. Drin werkelt ein Atom (also x86 und damit linuxtauglich). Cool daran: Das Display geht ab, ein Convertible. Eine kurze Google-Recherche förderte ausreichend Beiträge zutage, in denen Ubuntu, Debian und Arch erfolgreich implantiert worden. Inzwischen sind auf ebay-kleinanzeigen die ersten Opfer des Windows-10-Ressourcen-Hungers drin. Meinen neuen gebrauchten hab ich für schmale 150,- € inklusive Versand bekommen.Damit ist das Schicksal meines treuen Eee besiegelt, er ist (mit einer Träne im Augenwinkel) ersetzt. Vielleicht findet noch jemand Verwendung für ihn (und seinen verstorbenen Bruder), er ist auf ebay-kleinanzeigen zu erwerben.

(swg)

Wer so durch mein Blog klickt, und im Speziellen auf Bilder, wird festgestellt haben, dass die großen Versionen der Bilder direkt verlinkt sind. Klickt man drauf, bekommt man das nackte Bild. Zum Beitrag geht es nur mit dem “Browser zurück”. Ich kenne eigentlich keine Seite, die das heute noch so macht. Alle benutzen irgendeine Art lightbox. Mit etwas unfreiwilliger (aber nicht gänzlich frei verwendbarer) Freizeit geschlagen, habe ich mich des Themas gerade angenommen.

Woher nehmen?

Eine erste Idee war, nicht haufenweise Javascript dazu zu tun, sondern eher was leichtgewichtiges, nur in CSS, zu benutzen. Ich denke nicht, dass ich hier irgendwas selber klöppeln sollte – die Weiten des Internets bieten viele Lösungen. Mal abgesehen davon, dass die beiden getesteten Pure-CSS-Lösungen nicht funktionierten, hätten sie einen zweiten Nachteil gehabt: Es wären immer alle Bilder beider Art (Thumbnail und groß) direkt mit der Seite geladen worden. Verschwendung. Vor allem von Bandbreite auf mobilen Endgeräten.

FancyBox 3

Am Ende bin ich doch bei Javascript und FancyBox3 hängen geblieben. Nicht, weil es was ganz herausragend Besonderes gegenüber allen anderen Lightboxes wäre: Nein, es gab einfach eine Gute Anleitung™ von Paal Joachim Romdahl bei easywebdesigntutorials.com. Und auch die FancyBox-Seite hilft sehr gut weiter. Ok, besonders ist es in der Hinsicht, dass es sich in meinen Beiträgen direkt verwenden lässt. Ich muss nicht erst irgendwelche Galerien irgendwo im Blog anlegen. Es genügt in die bisherigen Bilderlinks noch ein Attribut einzufügen – das krieg’ ich sicher auch automatisiert für alle alten Beiträge hin.

modern times!

Wie das immer so ist bei guten Anleitungen und anwenderorientierter Software: Die Recherche hat länger gedauert als die Integration. Ich hätte das Plugin für WordPress nehmen können, hab’ den Kram aber lieber direkt ins aktuelle Theme geschraubt.

Als erster Beirag profitiert davon Straßenbahnmuseum Prag. Mal sehen, wie schnell ich alte Beiträge nachziehen kann. Außerdem muss ich dann noch meinen IMG-Helpr aktualisieren.

(swg)