BitBastelei #61 – Inside a Super Nintendo Enternainment System

BitBastelei #61 - Inside a Super Nintendo Enternainment System

(110 MB) 00:18:48

2013-09-15 10:00 🛈

SNS-CPU-RGB-02, Baujahr ab 1995, PAL

  • U1: Nintendo S-CPU B aka Ricoh 5A22 16Bit 65C816-Kern @ 3,58MHz
  • U2/U3: S-PPU1, S-PPU2C Picture Processing Unit, max 512x478px (interlaced), 15bit RGB (32.768 Farben), 128 Sprites, 4 Background Layers
  • U4/U5: LH52B256N-10PLL 256kBit (32kByte) Video Memory
  • U6: S-WRAM B Vermutlich 1MBit (128KByte) normaler SRAM
  • U7: S-ENC A RGB zu SVideo/Composite Converter, vermutlich BA6592F
  • U8: F413B Lockout-Chip („Kopierschutz“)
  • U10: LM358 Dual OpAmp
  • U13: Nintendo S-SMP 8-Bit Soundchip, aka Sony SPC700, 64KB RAM, 2,048MHz, 6 Register, 256 Opcodes
  • U14: Nintendo S-DSP A Sony Sound DSP zum SPC700, 8 simultane Stimmen, Voice-Panning, ADSR, Echo, 16-Bit Stereo @ 32kHz
  • U17: NEC D6376 2-Channel 16Bit D/A Converter for audio applications
  • U18: S-CLK A Hex-Inverter?
  • T1: TDK ZJYS-2 Common Mode Filters for General Signal Line
  • Linearregler: 7805

Weitere Infos:

Linux LVM: „Hängende“ Snapshots entfernen

Was ein Murks: Einer meiner Server brauchte dank Problem des Festplattentreibers einen Neustart. Nach dem Boot fiel mir auf, dass im LVM-System einige alte Snapshots von Systemtests liegen geblieben sind. Schnell mal aufräumen – oder auch nicht, denn dummerweise wollte LVM da nicht mitspielen. Erst mal eine kleine Übersicht des Systems:

root@rescue:~# pvs
PV VG Fmt Attr PSize PFree
/dev/md2 storage lvm2 a-- 2.70t 1.57t
root@rescue:~# vgs
VG #PV #LV #SN Attr VSize VFree
storage 1 32 9 wz--n- 2.70t 1.57t
root@rescue:~# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
[...]
test-www4-boot storage swi-a-s- 512.00m www4-boot 0.10
test-www4-data storage swi-a-s- 70.00g www4-data 38.39
test-www4-root storage swi-a-s- 20.00g www4-root 63.09
test2-www4-boot storage swi-a-s- 512.00m www4-boot 0.10
test2-www4-data storage swi-a-s- 70.00g www4-data 37.31
test2-www4-root storage swi-a-s- 20.00g www4-root 59.58
www4-boot storage owi-a-s- 512.00m
www4-data storage owi-a-s- 73.24g
www4-root storage owi-a-s- 20.00g
[...]

Man sieht die mit „test“ beginnenden Snapshots welche entfernt werden sollen. Üblicherweise reicht hier ein lvremove welches folgende Ausgabe brachte:

Do you really want to remove active logical volume test-www4-root? [y/n]: y
/sbin/dmeventd: stat failed: No such file or directory
/sbin/dmeventd: stat failed: No such file or directory
Unable to deactivate open storage-test--www4--root-cow (253:2)
Failed to resume test-www4-root.
libdevmapper exiting with 3 device(s) still suspended.

Ab diesem Punkt ist die LVM-Verwaltung faktisch tot. Kommandos wie z.B. lvs hängen sich auf und geben keine Ausgabe. Erst nach einem Reboot ist die Verwaltung wieder möglich, dann taucht der soeben gelöschte test-www4-root wieder auf, ist allerdings kein Snapshot mehr und lässt sich nun auch fehlerfrei entfernen. Keine schöne Lösung, denn ich habe viele Snapshots und dazu eine Abneigung gegen Reboots. Mit strace findet man im hängenden Zustand folgendes:

ioctl(3, DM_TABLE_STATUS, 0x81b5a40) = 0
stat64("/dev/storage/www4-root", {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
open("/dev/storage/www4-root", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
fstat64(4, {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
open("/dev/storage/www4-root", O_RDONLY|O_LARGEFILE) = 5
ioctl(5, BLKGETSIZE64, 0xffcc33a8) = 0
close(5) = 0
close(4) = 0
open("/dev/storage/www4-root", O_RDONLY|O_LARGEFILE) = 4
ioctl(4, BLKGETSIZE64, 0xffcc3378) = 0
close(4) = 0
stat64("/dev/storage/www4-root", {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
open("/dev/storage/www4-root", O_RDONLY|O_DIRECT|O_LARGEFILE|O_NOATIME) = 4
fstat64(4, {st_mode=S_IFBLK|S_ISVTX|0660, st_rdev=makedev(253, 1), ...}) = 0
ioctl(4, BLKBSZGET, 0x8174458) = 0
_llseek(4, 21474770944, [21474770944], SEEK_SET) = 0
read(4,

Der Auslöser scheint also die Snapshotquelle zu sein, nicht der Snapshot selbst. Eine Suche brachte mich zur Debian-ML auf der das Problem beschieben wird – dankenswerterweise funktionierte der Workarround auch in meiner Situation:

– Der lvremove-Befehl wird in einer Shell abgesetzt und hängt sich auf
– Auf einer zweiten Shell setzt man die Snapshotquelle manuell mit folgenden Befehl wieder in Gang: „dmsetup resume /dev/storage/www4.root“
– Die erste Shell reagiert wieder, der Snapshot sollte verschwunden sein
– Ggf. zurückgebliebene Laufwerksleichen werden mit „dmsetup remove /dev/storage/xxx“ entfernt

Gentoo: net-misc/bridge-utils lässt sich nicht installieren

Dafuq? Während einer Gentoo-Installation ließ sich plötzlich eine 802.1d Ethernet-Bridge nicht mehr korrekt ansprechen. Ein „brctl“ zeigt lediglich „Command not found“. Kann doch nicht sein – net-misc/bridge-utils habe ich eben noch emerged und es gab keine Fehler. Ein „equery files bridge-utils“ zeigt ebenfalls seltsames:

equery files bridge-utils
* Searching for bridge-utils ...
* Contents of net-misc/bridge-utils-1.4:
/usr
/usr/share
/usr/share/doc
/usr/share/doc/bridge-utils-1.4
/usr/share/doc/bridge-utils-1.4/AUTHORS.bz2
/usr/share/doc/bridge-utils-1.4/ChangeLog.bz2
/usr/share/doc/bridge-utils-1.4/FAQ.bz2
/usr/share/doc/bridge-utils-1.4/FIREWALL.bz2
/usr/share/doc/bridge-utils-1.4/HOWTO.bz2
/usr/share/doc/bridge-utils-1.4/PROJECTS.bz2
/usr/share/doc/bridge-utils-1.4/README.bz2
/usr/share/doc/bridge-utils-1.4/RPM-GPG-KEY.bz2
/usr/share/doc/bridge-utils-1.4/SMPNOTES.bz2
/usr/share/doc/bridge-utils-1.4/THANKS.bz2
/usr/share/doc/bridge-utils-1.4/TODO.bz2
/usr/share/doc/bridge-utils-1.4/WISHLIST.bz2
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/brctl.8.bz2

Die Binary fehlt?!

Ein neues emerge unter Aufsicht zeigt auch warum:

[...]
error: field 'ip6' has incomplete type
make[1]: *** [libbridge_if.o] Error 1
make[1]: *** [libbridge_init.o] Error 1
make[1]: *** [libbridge_devif.o] Error 1
[...]

Das kompilieren bricht wegen modifizierter Header-Dateien bei Kerneln => 3.8 ab, das ebuild registriert dies jedoch nicht und meldet eine erfolgreiche Installation. Die Lösung sollte inzwischen bereits verfügbar sein: Mit der seit einigen Tagen stabilen Version net-misc/bridge-utils-1.5 sollte das Problem behoben sein.

Unt-T U60e PCB / Case Pictures

Bereits vor einiger Zeit zeigte ich wie man bei einem UniT/UniTrend UT60 (aka. Voltcraft VC-820) die Sicherung tauscht – pasend dazu hier noch ein paar Fotos des Inneren und Äußeren, welche ich für die Dokumentation des Sigrok-Projektes aufgenommen habe.

Update: Hier noch eineige Bilder der ICs:

BitBastelei #60 – Tetrismusik im Kühlschrank mit Arduino

BitBastelei #60 - Tetrismusik im Kühlschrank mit Arduino

(158 MB) 00:08:49

2013-09-08 10:00 🛈

https://mobile.twitter.com/dominikhammes/status/375919299111948288

https://github.com/electricmango/Arduino-Music-Project

http://chaos-inkl.de/wiki/project:arduino-kickstarter-tetris

BitBastelei #59 – Linkmaster Pro (Netzwerktester) Reparatur

BitBastelei #59 - Linkmaster Pro (Netzwerktester) Reparatur

(138 MB) 00:09:26

2013-09-01 10:00 🛈

[powerpress]

RFC vs. Microsoft: IPv6 ist kein IP!

Derzeit läuft noch mein schier endloser Kampf gegen den SPAM-Filter der Microsoft’schen Maildienste outlook.com/hotmail. Heute kam endlich eine Rückmeldung – ich wurde gebeten einige Daten einzusenden, unter anderem die „IP-Adresse oder Range“ der/des Mailservers. So getan folgte alsbald folgende Mail:

Sehr geehrte Damen und Herren,

Die folgende IP-Adresse ist ungültig: 2001:41d0:2:7981::/64

Könnten Sie dies bitte überprüfen und uns die richtige senden?

Mit freundlichen Grüßen,

Offenbar ist den Microsoft-Mitarbeitern IPv6 noch nicht bekannt…

BitBastelei #58 – Canon EOS Netzteil im Eigenbau

BitBastelei #58 – Canon EOS Netzteil im Eigenbau

(155 MB) 00:20:30

2013-08-25 10:00 🛈

Akku der DSLR leer? Jetzt nicht mehr: Aus einem defekten Akku baue ich mir ein Netzteil für meine Solaranlage oder auch normale Steckdosen.

FrOSCon 2013

Etwas kurzfristig, aber ich werde mich zusammen mit einigen Leuten der LUG-MYK Heute und Morgen auf der FrOSCon (Free and Open Source Conference) in der Nähe von Bonn herumtreiben. ich kann nur jeden, der Interesse an Computern und Basteln hat, einen Besuch nahe legen: Bei solchen Konferenzen kann man sich viele Anregungen holen, Ansprechpartner finden und viele der Vorträge sind auch für Einsteiger interessant. Der Eintritt ist ab 5€ möglich. Gegenargumente bzgl. frühem Aufstehen lasse ich nicht gelten, auf dem Gelände gibts Mate 😉
Bild: https://www.adlerweb.info/blog/wp-content/uploads/2013/08/2Ydae-300×224.jpg

Nerd Inside