The latest posts in full-text for feed readers.
Mein neuer PC hat keine PS/2-Buchsen mehr, weshalb ich für mein Logitech "Internet Keyboard" einen PS/2-auf-USB-Adapter brauchte.
Es stellte sich heraus, daß viele Adapter nicht für deutsche Tastaturen geeignet sind - englische Tastaturen haben 104 Tasten, deutsche - und die für andere europäische Sprachen - aber 105, und zwar die Taste rechts neben dem linken Shift: die für <, > sowie |. (Das original PS/2-Layout hatte 101/102 Tasten, Microsoft fügte dann Windows- und Menütasten hinzu.)
Die meisten PS/2-auf-USB-Adapter sind für englische Keyboards mit 104 Tasten gemacht; die kleiner-als-Taste funktioniert dort nicht.
Der DeLock 61051 USB to PS/2 Adapter funktioniert problemlos mit deutschen Tastaturen. Selbst Zusatztasten wie Browser, E-Mail und Suche werden erkannt. Ich erstand ihn für 8,95€ bei Reichelt.
Der PCPlay PS/2 Keyboard+Mouse Adapter (13ba:0017)
hingegen ist ein Drecksgerät:
Er funktioniert nur manchmal, dann muss man ihn ab- und wieder
anstecken. Die <-Taste wird nicht erkannt.
Verkauft wurde er für 3€ unter dem Namen
USB Konverter, 1.1, A Stecker auf 2x PS/2-Buchse
.
Published on 2024-05-04 in hardware
I'm using a Fairphone 4 smart phone, running the MicroG-enabled LineageOS instead of the default software (ROM).
Unfortunately, the phone has several shortcomings:
Sometimes the touch screen triggers scrolls, swipes and zoom gestures without anyone touching it.
Thousands of FP4 users had this problem, and it was fixed in the official Fairphone software version Fairphone OS version B.086:
Ghost touches: an issue that causes the user interface to move or jump without touching the screen.
Unfortunately the fix is not available on LineageOS 20 (2024-01-05), which means I still experience the problem.
I once disassembled the phone, "cleaned" the display contacts by blowing onto it and re-assembled it. Afterwards the ghost touches appeared less often.
Enabling "touch visualization" in the Android developer settings gave me this screenshot of ghost inputs:
Sometimes the touch screen does not work (does not recognize touches) when the phone is lying flat on a table or my lap. When touching the frame it becomes responsive again.
Other people also reported this problem:
All we know is that there is some empirical evidence that the FP4’s touchscreen now requires the phone to be connected to some larger conductive body to reliably work – Either the user also touching the phone’s chassis, or the phone being connected to something else by its USB cable (like while charging it).
KurtF, 2023-08-26, Software update: FP4.SP2J.B.086.20230807
The Fairphone 3 already had this problem:
Seit ich das FP3+ habe funktioniert das Touch Display nicht,
wenn ich es auf den Tisch lege.
Wenn ich es in die Hand nehme, ist alles in Ordnung.
Lotta_Hund, 2021-05-06,
FP3+ Touch Display funktioniert nicht, wenn es liegt
I can't listen to podcasts via the Fairphone 4's built-in speakers because the sound is awful. My ring tone and message notification sounds also sound very tinny.
This hardware problem is known and acknowledged by the Fairphone developers:
Time to call it. It’s a hardware problem that we could mitigate in software by artificially reducing the volume of the top speaker. We believe that a blanket volume reduction will be perceived negatively by the majority of users, so we opted to leave it as it is.
The workaround described above (Accessibility Settings > Mono > balance all the way to the left) works in most cases. [...]
We’ve learned a lot from this investigation and we’ll use these lessons when designing future products.
Yasen_Tomov, 2023-06-08, Check for and replace blown speaker
For me the workaround is to use the Android accessibility settings to downmix all sounds to mono and move them to the right speaker (bottom of the phone), completely bypassing the right speaker (top of the phone).
I love to use SkyMap (F-Droid) to see which stars are visible in the sky at night.
Unfortuantely the compass on the Fairphone 4 is so bad that the map just jumps around and shows a totally different direction when rotating the phone for a couple of degrees.
As usual, other people have the same problem:
In almost all cases, the orientation error ranges from 45 to 180 degrees.
ChristianH, 2023-01-25, FP4: The compass is unreliable
Moving the phone in a "8"-pattern several times while Skymap or the compass app is open did improve accuracy quite a bit, but I have to recalibrate every time I use Skymap.
Published on 2024-02-25 in android, hardware
Nach dem Erwärmen von Milch in unserer 20 Jahre alten Mikrowelle vom Typ Severin MW 7840 drückte ich den Türöffnerknopf und nichts passierte: Die Tür blieb einfach zu; wiederholtes Drücken brachte auch nichts.
Also die Mikrowelle aufgeschraubt und da war das Problem: Das Drücken des Türöffners ist eine horizontale Bewegung, und im Inneren gibt es eine Umlenkeinrichtung, die diese in eine vertikale Bewegung nach oben umwandelt. Oben ist dann ein Schalter, der die Tür dann öffnet (und die Mikrowelle sicherheitshalber ausschaltet).
Der Umlenker ist mit 2 Nippeln beweglich im Gehäuse befestigt, und einer davon war abgebrochen:
Ein Freund besitzt einen 3D-Drucker. Er fand ein ähnlich aussehendes Modell eines Umlenkers und druckte es aus - leider passte es nicht.
Dann griff er selbst zu Lineal und Winkelmesser und baute die Umlenkeinrichtung am Computer nach. Als Extra gab es noch eine Stabilisierung des Nippels, damit das Ersatzteil länger hält als das Original:
Das
3D-Modell des Ersatzteils für die
Mikrowelle mit Grill "electronic plus" MW 7840
ist auf printables.com herunterladbar.
Published on 2024-01-28 in hardware
Beim Hören von DAB+-Sendern auf dem Sony XDR-C706DBP DAB und DAB+-Radio ("Dream Machine") von 2012 kommt es permanent zu knackenden Geräuschen. Diese sind unabhängig von der eingestellten Lautstärke und stören total.
Sobald man auf UKW (FM) umschaltet sind sie weg, und man hat klaren Klang:
Das Hörbeispiel beginnt mit UKW, dann DAB+, dann wieder UKW und zum Schluss nochmal DAB+.
Andere haben dasselbe Problem:
[Es kommt] nach ca. einem halben Jahr im DAB-Betrieb zu einem knackendem Geräusch bei der Soundwiedergabe. Hört sich an als ob eine Schallplatte einen Kratzer hätte.
Ich habe einen Magneten am Stromkabel angebracht, allerdings hat das nicht geholfen.
Auch habe ich das Radio geöffnet und die einzelnen Teile abgeschraubt, aber das Erhöhen von Abständen zwischen den Teilen oder das Verbiegen von Kabeln hat auch nichts gebracht.
Das Sony-Radio ist komplett unbrauchbar für das Hören von DAB+.
Published on 2023-12-27 in hardware
When moving to a new home server I also needed to connect my Brother ADS-1700W document scanner to the new Debian 12-based machine, which turned out to be harder than I expected.
Upon pressing a button on the UI, the scanner shall upload the PDFs to the paperless-ngx instance on my home server. The ADS-1700W supports SFTP uploads that can be configured via the web interface.
Until all problems were solved, the "connection test" showed the following (German) error message:
Profil 1 (SFTP)
Test: Fehler
Authentifizierungsfehler.
Diese Meldung wird angezeigt, wenn Ihre Authentifizierungseinstellungen nicht ordnungsgemäß konfiguriert sind.
Prüfen Sie Folgendes:
* Benutzername ist korrekt.
* Kennwort ist korrekt. (Wenn Kennwort als Auth.-Methode ausgewählt ist.)
* Ausgewähltes Client-Schlüsselpaar ist korrekt. (Wenn Client-Schlüssel als Auth.-Methode ausgewählt ist.)
* Ausgewählter öffentlicher Serverschlüssel ist korrekt.
Each SFTP Profile has a Server Public Key which needs to be uploaded at first. I used the following file from my server: /etc/ssh/ssh_rsa_host_key.pub.
Using ssh_host_ed25519_key.pub did not work; the scanner firmware did not accept the key file. (The RSA file gave an error at first, but was accepted when uploading it a second time.)
The scanner was not able to connect to my server with that host key though. journalctl showed:
sshd[6275]: Unable to negotiate with 192.168.3.53 port 59954: no matching host key type found. Their offer: ssh-rsa [preauth]
Debian 12 by default does not like RSA keys anymore and prefers different key types, so I had to allow RSA:
HostKeyAlgorithms +ssh-rsa
Test connections from my laptop to the restricted "scanner-upload" account with scp did not work at first:
$ scp -v empty.ini scanner-upload@paperless.home.cweiske.de:/ Executing: program /usr/bin/ssh host paperless.home.cweiske.de, user scanner-upload, command sftp [...] debug1: Sending subsystem: sftp [...] Transferred: sent 4336, received 3568 bytes, in 0.3 seconds Bytes per second: sent 13255.8, received 10907.9 debug1: Exit status 1 scp: Connection closed
There was no indication in the server logs, even when setting LogLevel VERBOSE.
A CentOS forum post by edwardsmarkf gave me a solution: Change the SFTP subsystem from /usr/libexec/openssh/sftp-server to internal-sftp.
Subsystem sftp internal-sftp
With this two configuration changes the scanner could upload files!
Published on 2023-11-22 in hardware, linux
Unser als Küchenradio genutzes Noxon iRadio ist leider nicht geeignet, um in unserer UPnP-Künstlerliste zu navigieren. Es hat offenbar einen Fehler der dazu führt, daß man beim Navigieren nach 2-3 Bildschirmseiten (mit jeweils 5 Einträgen) wieder ins Hauptmenü zurückgeworfen wird, wenn man einen Ordner öffnen will. Bei einer Musiksammlung mit ~140 Künstlern nicht brauchbar.
Weiterhin ist es auch für Podcasts nicht brauchbar.
Zeit für ein neues Gerät.
Beim Kauf eines Satellitenreceivers für die Verwandtschaft hatte ich gesehen, daß Technisat auch Internetradios im Angebot hat. Ich hab mich dann durch deren Website geklickt und die Radios rausgesucht, die Ethernet, UPnP und DAB konnten.
Viel blieben nicht übrig, und dann bin ich ins lokale Conrad um die auszuprobieren. Beim DigitRadio 600 gibt es keinen Zurück-Knopf, der beim Navigieren im UPnP-Verzeichnisbaum immens wichtig ist. Er existiert nur auf der Ferbedienung.
Das DigitRadio 580 gabs im Conrad nicht, aber ich konnte es mir zur Ansicht in die Filiale liefern lassen und 2 Tage später ausprobieren.
Es passte alles, und ich habs für 270€ gekauft.
Zum Radio gibt es die App Technisat CONNECT, mit der man das Radio anschalten und komplett bedienen kann. Leider ist sie 40 MiB groß, was für ein Radiosteuerprogramm viel zu viel ist.
Um eine eigene App zu bauen oder das Radio in die Heimnetzsteuerung einzubinden braucht es aber Kenntnisse der Schnittstelle. Der Technisat-Support meinte nur lapidar:
Bitte haben Sie Verständnis dafür, dass wir Ihnen die Schnittstellendokumentation nicht zur Verfügung stellen können.
Das Verständnis fehlt mir hier völlig, aber ich gehe auch nicht davon aus, daß ich irgendeine Unterstützung seitens der Hersteller bekomme. Das ist ziemlich bedrückend.
Mir war unbekannt, wie die App mit dem Radio spricht. Also erstmal nen Portscan:
$ nmap -p1-65535 digira Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-13 21:40 CEST Nmap scan report for digira (192.168.3.46) Host is up (0.0043s latency). rDNS record for 192.168.3.46: digira.home.cweiske.de Not shown: 65530 closed ports PORT STATE SERVICE 80/tcp open http 514/tcp open shell 8080/tcp open http-proxy 10003/tcp open documentum_s 55299/tcp open unknown Nmap done: 1 IP address (1 host up) scanned in 333.03 seconds
Auf Port 80 läuft das Webinterface, mit dem man dem Radio einen neuen Namen geben kann. Der Rest ist unklar, aber Port 10003 könnte ein Fernsteuerungsport sein. Eine Telnetverbindung dahin brachte Binärzeugs, was auf eine Verschlüsselung hindeutet :/
Im vom UPnP verwendeten SSDP-Gerätfindeprotokoll meldet es sich neben den üblichen UPnP-Informationen so:
uuid:46C19E4A-472B-11E1-9F67-0022616E9730::urn:schemas-frontier-silicon-com:undok:fsaudsync:1
(via gssdp-discover)
Da ich die für die verschlüsselte Kommunikation nötigen Schlüssel und Algorithmen nicht erraten kann, beschloß ich in der App nachzusehen wie es gemacht wird.
Also die App per adb vom Handy ziehen:
$ adb root $ adb shell crackling:/ # pm path com.technisat.multiplay.main package:/mnt/expand/123457890/app/com.technisat.multiplay.main-1/base.apk $ exit $ adb pull /mnt/expand/123457890/app/com.technisat.multiplay.main-1/base.apk
Jetzt noch den Decompiler jadx-gui gestartet und ... rausgefunden, daß der Java-Code eigentlich nur nen dünner Wrapper ist, der die libMultiPlayAndroid.so (35 MiB) startet, eine binäre Bibliothek, die nicht so einfach zu dekompilieren ist :/
Der letzte Ausweg war jetzt der Netzwerksniffer Wireshark, mit dem ich die Netzwerkpakete zwischen App und Radio mitschneiden wollte. mitmproxy konnte ich nicht verwenden, weil der nur HTTP kann, ich aber diesen komischen 10003er Port belauschen muss.
Das machte das Setup etwas schwierig, denn das Konfigurieren des Gateways im DHCP-Server reicht leider nicht aus - die Handy und Radio kommunizieren nach den ersten Paketen dann doch lieber direkt.
Mir fiel eine Alternative ein: Laptop zum Access Point machen, Handy mit diesem verbinden und schwupps, schon hab ich den Traffic. Der im NetworkManager-Applet eingebaute Hotspotmodus funktionierte leider nicht, da dieser einen neuen IP-Bereich aufmachte, der nicht mit dem echten Heimnetzwerk sprechen wollte.
Die Lösung war dann create_ap, dem man direkt sagen kann, daß das W-LAN ins normale Netzwerk gebrückt werden soll:
$ create_ap -m bridge wlan0 eth0 myssid mypassword
Jetzt bekam ich den kompletten Handydatenverkehr mit!
Nach dem Starten der App werden erstmal UDP-Pakete an eine Multicastadresse geschickt, genauso wie SSDP-Suchpakete. Das Radio meldet sich dann direkt beim Handy, die App zeigt das Gerät dann an.
Und nun die Überraschung: Die App redete nicht wie vermutet über Port 10003, sondern über HTTP auf Port 80. Anstatt des Webinterfaces sprach es aber einen anderen Pfad an, nämlich /fsapi/.
Der mitmproxy hätte also doch geholfen, und ich hätte mir den ganzen Aufwand sparen können :/
Nachdem ich um die 30 verschiedene API-Aufrufe mitgeschnitten hatte suchte ich im Netz nach dem offensichtlichsten, dem An- und Ausschalten:
GET /fsapi/GET/netRemote.sys.power?pin=1234
... und es stellt sich raus, daß andere schon 2015 mit der API-Dokumentation angefangen haben:
Auch Implementierungen gibt es einige:
Dann gibt es noch Anbindungen an Heimautomatisierungssysteme:
Die Firmwareversion meines DigitRadio 580 ist
ir-mmi-FS2026-0500-0286_V2.11.12.EX65933-1A22
FS ist "Frontier Silicon", heißt jetzt Frontier Smart und liefert Chips, in denen DAB, FM, Internetradio, UPnP, CD und Bluetooth integriert ist, sowie die passende Software dazu.
Das 2026 in der Versionsnummer steht für das VENICE 6.5 FS2026-5 Internet radio/Network streaming/DAB/FM/iPhone audio module , auch "Neptune" genannt.
Wie es aussieht, nutzen sehr viele Gerätehersteller Chips dieses Zulieferers um ihre Radios zu bauen. Also keine Eigenentwicklungen.
Einige Radios von Hama und viele von Medion haben inzwischen FrontierSilicon-Chips drin.
Frontier Smart bietet auch gleich eine App an, und zwar UNDOK . Die macht genau dasselbe wie die Technisat-App, ist aber 10 MiB groß - 30 MiB gespart.
Scheint ein Debug-Port zu sein:
I tried telnet on port 514 and discovered what appears to be a debugging system log.
Das kann ich bestätigen.
Es gibt 2 änlich klingende API-Methoden, die die Ausgabe wahrscheinlich beeinflussen:
Update 2023-11: Ist wirklich so: Digitradio 580: <Empty> audio folders und Document debugging API endpoints #27.
Wird für UPnP-Informationen benutzt, wie die dd.xml.
Unbekannt.
Der Technisat-Support meinte, der Port ist für die Multiroom-Funktionalität
da.
Unbekannt. Das ist aber eine dynamische Portnummer, die sich ändern könnte.
Published on 2019-05-13 in hardware, upnp
I bought a Brother ADS-1700W document scanner, so I can fully utilize my Paperless-ngx installation.
When scanning a document and sending it as e-mail, Mail 16.0 on MacOS 12.6.9 does not show the attachment of the scanned PDF document. Thunderbird, Claws Mail and K-9 Mail properly show the attachment.
I suspected something wrong with the e-mail and indeed got errors on mimevalidator.net:
Byteplant MIMEValidator V1.2.5.2 Errors: linebreak found, MIME syntax violation (line 1) linebreak found (line 2) linebreak found (line 3) linebreak found (line 4) linebreak found (...) parser error: too many bad linebreaks (line 45) MIME syntax violation: ';' expected (name) (line 45) MIME syntax violation: ';' expected (=) (line 45) MIME syntax violation: ';' expected (Scan_20230921_080714_000264.pdf)
I sent an e-mail to the Brother customer support (ADS-1700W is still supported) .. and they told me that on MacOS, only Thunderbird is supported.
My reply that the mail is invalid and that the scanner's firmware needs to be fixed by their developers were rejected. They did not even acknowledge the error; it seems their support staff did not even understand them.
Hierbei liegt kein Problem bei der Firmware Update und wie Sie schon
von meinem Kohlegin informiert worden sind, wird bei macOS nur Thunderbird
unterstützt,
wenn Sie mit Ihrer MacOS Mailprogramm Probleme haben dann müssen Sie sich
leider mit Apple in Verbindung setzen oder Thunderbird verwenden.
Bezüglich der Validierungsfehler müssen Sie auch bei Apple nachfragen
denn dieser Meldung ist leider nicht von dem Gerät.
Brother Support person, ticket 7001569466
Those bad spelling and grammatical errors were really in their email.
Mentioning the XKCD tech support keyword did not help :(
Published on 2023-10-05 in hardware, kundeistkönig
I have some old Playstation 1 controllers that I'd like to use on my OUYA gaming console. Using them on the PC works via an PSX-to-USB adapter.
Plugging them into the OUYA unfortunately did not work; they were not detected as controllers - or at all, as it seemed. A Microsoft Sidewinder DualStrike did also not work.
Attaching the PSX adapter with controllers to a PC shows the following lsusb output:
ID 0810:0001 Personal Communication Systems, Inc. Dual PSX Adaptor
dmesg shows:
usb 2-1.2: new low-speed USB device number 120 using ehci-pci usb 2-1.2: New USB device found, idVendor=0810, idProduct=0001 usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0 usb 2-1.2: Product: Twin USB Joystick input: Twin USB Joystick as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.2/2-1.2:1.0/input/input1460 input: Twin USB Joystick as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1.2/2-1.2:1.0/input/input1461 pantherlord 0003:0810:0001.05AC: input,hidraw2: USB HID v1.10 Joystick [Twin USB Joystick] on usb-0000:00:1d.7-1.2/input0 pantherlord 0003:0810:0001.05AC: Force feedback for PantherLord/GreenAsia devices by Anssi Hannula <anssi.hannula@gmail.com>
Input device files in /dev/input/ get created for both joysticks; /dev/input/js0 and /dev/input/js1.
I can then use jstest or jstest-gtk to test the controllers and see all the buttons and axes working.
Using adb to open a shell on the OUYA gives the following dmesg output:
[ 331.002934] usb 2-1: new low speed USB device number 13 using tegra-ehci <6>[ 331.039183] usb 2-1: New USB device found, idVendor=0810, idProduct=0001 <6>[ 331.046013] usb 2-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 <6>[ 331.053437] usb 2-1: Product: Twin USB Joystick]]>
That was all. Nothing more - no more dmesg output, no input files in /dev/.
On the internet, many people used apps like usb/bt joystick center or tincore keymapper. The first has been removed from the google play store (I did not find an explanation why; the author did not respond to my e-mail), the second is still available.
But I did not want to use any of these tools. I can't look into them and do not know what they do. There just had to be a way to make it work properly.
After some detours, I had the idea that Linux drivers could be missing.
The PC's dmesg output gave a hint which ones were used:
pantherlord 0003:0810:0001.05AC: input,hidraw2: USB HID v1.10 Joystick
The keywords are pantherlord, input and hidraw2.
input is a standard kernel module that is always enabled; otherwise no mouse/keyboard/joystick/touchpad would work.
pantherlord turned out to be the driver for the PSX adapter. The kernel sources tell us in drivers/hid/Kconfig:
config HID_PANTHERLORD tristate "Pantherlord/GreenAsia game controller" depends on USB_HID ---help--- Say Y here if you have a PantherLord/GreenAsia based game controller or adapter.
There is also a HIDRAW driver, which supports
HID devices (from the USB specification standpoint) that aren't strictly user interface devices
One can access the current kernel configuration at /proc/config.gz by copying from the OUYA:
$ adb pull /proc/config.gz $ zless config.gz
And there I saw it:
# CONFIG_HIDRAW is not set # CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_MICROSOFT is not set
The OUYA's Linux kernel had been built without support for my game controllers.
So it turned out that the only way to get my arcade joystick and gamepad working was to compile support for them into the kernel.
While HID_PANTHERLORD could be compiled as a module (tristate in the Kconfig files), HIDRAW could not - I had to re-build the whole kernel, and not only compile & copy a single module.
The internet contained a single, but very helpful OUYA kernel compilation howto: Builing your own Ouya Kernel by Leonardo Pires, written mid of 2014. The original announcement of this HowTo seems to be Recompilando Kernel do OUYA - Por Leonardo Pires which links to a HowTo on Google Drive. The XDA forum post seems to be a low-quality and translated version of it.
I had to adjust it to the current OUYA firmware version and fix some errors in it. Here is the updated one that worked 2015-06-02:
You have to enable ADB via the OUYA System / Debugging menu.
For the last step you have to be connected via USB to the device; uploading the kernel via network does not work.
Create a udev rules file for the OUYA so that you are able to communicate with the device over USB. Put the following into /etc/udev/rules.d/051-android.rules:
# ouya SUBSYSTEM=="usb", ATTRS{idVendor}=="2836", MODE="0666" # fastboot ouya SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
Install the Android debug bridge (adb) and make it recognize the OUYA as Android device:
$ sudo apt-get install android-tools-adb
$ echo "0x2836" >> ~/.android/adb_usb.ini
$ adb kill-server
$ adb devices
List of devices attached
012d3a4efac56789 device
In your home directory, create a directory ouya-kernel:
$ cd
$ mkdir ouya-kernel
$ cd ouya-kernel
Flashing the OUYA with a new kernel requires a ramdisk file, and we can get it from the current firmware. At the time of writing this was 1.2.1427-r1.
$ wget http://devs-ouya-tv-prod.s3.amazonaws.com/ota/RC-OUYA-1.2.1427-r1_ota.zip
$ unzip RC-OUYA-1.2.1427-r1_ota.zip boot.img
$ wget http://www.enck.org/tools/split_bootimg_pl.txt -O split_bootimg.pl
$ perl split_bootimg.pl boot.img
$ gunzip boot.img-ramdisk.gz
$ mv boot.img-ramdisk ramdisk
split_bootimg.pl's homepage is http://www.enck.org/tools.html#split_bootimg.
We have to cross-compile the kernel for the ARM platform; and the NDK contains the correct tools for that.
android-ndk-r10e did not work for me; I got a unknown CPU architecture error during kernel compilation. android-ndk-r9d did work:
$ wget https://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2
$ tar xjvf android-ndk-r9d-linux-x86_64.tar.bz2
OUYA's kernel is on github, and we fetch it from there:
$ git clone git@github.com:ouya/ouya_1_1-kernel.git
Now we have to fetch the OUYA's kernel configuration file, which can be found at /proc/config.gz:
$ adb pull /proc/config.gz
$ gunzip -kc config.gz > ouya_1_1-kernel/.config
Now adjust the kernel configuration file in ouya_1_1-kernel/.config:
CONFIG_HIDRAW=y CONFIG_HID_MICROSOFT=y CONFIG_HID_PANTHERLORD=y
The kernel can be compiled now:
$ export CROSS_COMPILE=/home/cweiske/ouya-kernel/android-ndk-r9d/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-
$ export ARCH=arm
$ cd ouya_1_1-kernel
$ make
.. wait an hour ..
$ cp arch/arm/boot/zImage ../
Install the fastboot command:
$ apt-get install android-tools-fastboot
$ adb reboot-bootloader
$ fastboot devices -l
012d3a4efac56789 fastboot usb:2-1.2
If fastboot gives you a no permissions warning, make sure that /etc/udev/rules.d/51-android.rules contains settings for vendor 0955 - the USB IDs change when rebooting into bootloader mode!
Now it's time to install the new kernel:
$ fastboot flash:raw boot ./zImage ./ramdisk
creating boot image...
creating boot image - 5742592 bytes
sending 'boot' (5608 KB)...
OKAY [ 1.125s]
writing 'boot'...
OKAY [ 1.854s]
finished. total time: 2.980s
$ fastboot reboot
If all went well, the OUYA boots up with the fresh kernel.
dmesg on the OUYA shows us that the joysticks are recognized now:
[ 113.056632] usb 2-1: new low speed USB device number 2 using tegra-ehci
<6>[ 113.104851] usb 2-1: New USB device found, idVendor=0810, idProduct=0001
<6>[ 113.116743] usb 2-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
<6>[ 113.124579] usb 2-1: Product: Twin USB Joystick
<6>[ 113.145452] input: Twin USB Joystick as /devices/platform/tegra-ehci.2/usb2/2-1/2-1:1.0/input/input1
<6>[ 113.156314] input: Twin USB Joystick as /devices/platform/tegra-ehci.2/usb2/2-1/2-1:1.0/input/input2
<6>[ 113.167024] pantherlord 0003:0810:0001.0001: input,hidraw0: USB HID v1.10 Joystick [Twin USB Joystick] on usb-tegra-ehci.2-1/input0
<6>[ 113.179213] pantherlord 0003:0810:0001.0001: Force feedback for PantherLord/GreenAsia devices by Anssi Hannula ]]>
The Playstation controllers did not work immediately. The axes (up/down, left/right) did work, but the keys did not. I had to provide my own key layout file for the joysticks.
Creating it was easy; I installed the KeyTest Android application (link is dead) which could be downloaded as pre-compiled .apk file (archived version).
Then I clicked all the buttons on the OUYA controller and wrote down the scan codes. Afterwards, I wrote down the scan codes of the Playstation controllers.
The resulting key layout file has to get the name Vendor_0810_Product_0001.kl.
# PSX controller mapping # Dual PSX Adaptor / Twin USB Joystick # idVendor=0810, idProduct=0001 # Linux HID_PANTHERLORD driver # X cross key 290 BUTTON_A # O circle key 289 BUTTON_B # [] square key 291 BUTTON_X # /\ triangle key 288 BUTTON_Y key 294 BUTTON_L1 key 292 BUTTON_L2 key 295 BUTTON_R1 key 293 BUTTON_R2 key 296 BUTTON_SELECT key 297 BUTTON_START key 298 BUTTON_THUMBL key 299 BUTTON_THUMBR axis 0x00 X axis 0x01 Y axis 0x02 HAT_X axis 0x03 HAT_Y axis 0x04 RZ axis 0x05 Z
Push it onto your OUYA into /system/usr/keylayout/:
$ adb push Vendor_0810_Product_0001.kl /sdcard/
$ adb shell
$ su
$ mount -o remount,rw /system
$ mv /sdcard/Vendor_0810_Product_0001.kl /system/usr/keylayout/
Now unplug and replug the USB controller - and it works!
Published on 2015-06-03 in hardware, linux, ouya
The Sony website does not have drivers or manuals for the laptop Sony Vaio Fit SVF152A29M; it does not exist there.
I contacted Sony support because the Windows 8 it came with is end-of-life now, and we would need to upgrade to Windows 10. Upgrading to Win10 would mean the laptop needs more RAM and a SSD, and for that we need the specification. They told me:
SVF152A29M is the same as model SVF1521Q6EW
You can find all information here: https://www.sony.de/electronics/support/laptop-pc-svf-series/svf1521q6e
The VAIO production has been stopped in 2014. Therefore we do not offer any drivers or software for Windows 10/11.
RAM: max. 8 GB / typ PC3L-12800 DDR3L SDRAM
Harddisk: Serial ATA
Time to switch to Linux.
Published on 2023-01-23 in hardware
My Dreambox DM7080HD satellite receiver from 2014 shipped with a USB Wi-Fi adapter:
It has the FCC ID MQ4WU5501 which tells it that is has been made by Abocom Systems Inc.
When attaching it to a Linux computer we see:
Bus 001 Device 037: ID 07b8:8188 AboCom Systems Inc AboCom Systems Inc [WN2001 Prolink Wireless-N Nano Adapter]
usb 1-2: new high-speed USB device number 37 using xhci_hcd usb 1-2: New USB device found, idVendor=07b8, idProduct=8188, bcdDevice= 2.00 usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-2: Product: RTL8188S WLAN Adapter usb 1-2: Manufacturer: Manufacturer Realtek usb 1-2: SerialNumber: 00e04c000001 rtl8192cu: Chip version 0x10 rtl8192cu: Board Type 0 rtl_usb: rx_max_size 15360, rx_urb_num 8, in_ep 1 rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin ieee80211 phy2: Selected rate control algorithm 'rtl_rc' usb 1-2: firmware: direct-loading firmware rtlwifi/rtl8192cufw_TMSC.bin rtl8192cu 1-2:1.0 wlx407b17034d61: renamed from wlan0
The debian package firmware-realtek is required.
It is a PROLiNK WN2001 Wireless Nano USB Adapter with the RTL8188S Realtek chip. Only Wi-Fi, no Bluetooth.
Published on 2023-01-22 in dreambox, hardware