Archive for the 'Hardware' Category

20 years, and over 400 scanner drivers

Friday, August 24th, 2018

Quite exactly 20 years ago I purchased my first scanner, after saving for years for my first computer: A Pentium 120, at first even running with our old ISA VGA card from my farther’s ageing 386sx25. Lafter, after saving more for my first VGA card, an ELSA Victory 3D w/ S3/Virge3D, it was also time for the first peripherals and of course to get analog material into the digital world I needed a scanner: a c’t mgazine well rated AVision AV630CS. But as Windows crashed too often than not on me, it was also time to migrate to Linux. Remember that was 1998 when few actually heard about it. And of course I had to write my own SANE scanner driver - and the rest is history:

ExactScan.com.

Bluetooth apt-X finally works w/ OpenSource!

Wednesday, June 6th, 2018

I also finally hcidump’ed which codecs my Sennheiser Momentum 2.0 supports, as the marketing material is often not that detailed and trustworthy. So besides the standard SBC; only apt-X:

# hcidump | grep -i codec
Media Codec - non-A2DP (aptX)
Media Codec - SBC
Media Codec - non-A2DP (aptX)

CLI, manual Bluez connection

Monday, June 4th, 2018

# bluetoothctl

power on
agent on
default-agent
scan on
pair xx:…
connect xx:…

Notes. installing Irix, Octane, O2

Saturday, April 21st, 2018

Empty HD:

boot -f dksc(1,3,8)sash64
# boot -f dksc(1,3,8)sashARCS

partition:
boot -f dksc(1,3,7)stand/fx.64 –x
# boot -f dksc(1,3,7)stand/fx.ARCS –x

Install System Software

2 to open media
# insert all CDs

then to install:

keep *
install standard
go

in case of conflicts:

conflict 1a 2a .. .. ..

Obviously, more detailed tips at the usual: nekochan.net, …

AT command notes

Thursday, March 15th, 2018

so it is that time of the decade again, that you need to poke with some AT modem commands, e.g. for 3G / LTE networks, …

Does the SIM card need a PIN?
at+cpin?

Enter the PIN if required:
AT+CPIN=1234

Current network:
AT+COPS?

Update: special service numbers, e.g. balance:
AT+CUSD=1,”*100#”

List of early computing systems [WIP]

Monday, March 12th, 2018

I think we initially had a 286 without HD, nor color graphics
my father’s 386sx25 w/ 2MB RAM for what feels forever
gifted free NEC V20 XT clone thing
Pentium 120
IDT WinChip2 240
AMD K7 Athlon 600
AMD K7 Athlon 1GHz?
Sun Ultra 5 4/2002
Sgi Octane 11/2005
iBook G3 750?

GCC becomes slower and slower

Thursday, January 18th, 2018

As visible on my other posts, also on twitter and instagram I’m working on some vintage machines with our #t2sde the other weeks. Now only did the new GCC versions feel slower and slower, where even EPYC datacenter servers took like twice as long to bootstrap some $sysroot, … I did a quick mips64 build and install to the R10000 mips64 Sgi Octane. A hello-world.c compile is like 20% slower from 4.9.4 to 7.2.0 (N32 user-land):

# gcc –version
gcc (GCC) 4.9.4
# time gcc hello.c
user 0m1.080s

vs.

# gcc –version
gcc (GCC) 7.2.0
# gcc hello.c
user 0m1.290s

low-level format a spinning hard drive

Wednesday, December 27th, 2017

On this vintage Unix workstation machine I still got one of those spinning SCSI drives. The one in the SPARCstation 2 –spinning with 7200rpm, from 1999!– had some bad blocks at the end. First I partitioned it so that the OS would not touch them, but as I wanted to re-install a new, slightly different T2 build I wanted to try to get rid of this bad blocks. From the spec it sounds like those old drives may only re-map reserve spare blocks on low-level format, as opposed to any write like modern disk drives do. “Flawed sector reallocation at format time”, however, the document also mention “Programmable auto write and read reallocation”, “Reallocation of defects on command (Post format)” and even “Full automatic read and write reallocation” hm, … confusing.

Anyways, I did not really wanted to do a longer term install with this bad blocks so I tried the sgutils’s sg_format for the first time ever. Little bit of a scary thing, and you should certainly not do this light hearted. After issues the SCSI FORMAT command, the drive is busy and won’t respond to regular SCSI commands. I run for an hour, so I guess it was stuck ad some bad area. I turned if off, guessing this may render it bricked, and it came back online without responding to SCSI READ and WRITES, … I issues another FORMAT; in the hope it may complete, and after only some minutes it did, ..! Yay, good luck.

So do not try this too easy and too often. I still have to re-read the drive to see if it still gives read errors, or if the reallocation re-mapping of reserve sectors was successful.

CPU support lost in the Linux kernel

Saturday, December 23rd, 2017

For those enjoying tinkering with vintage, retro computer gear: Linux was the kernel and OS supposedly supporting every CPU, smart toaster and coffee machine under the sky.
Unfortunately with all the high massive parallel, performance state of the art tinkering some vintage maintenance burden was recently dropped over the years. Case in point: the original Intel 80386 which lacks the CMPXCHG instruction introduced with the i486, in the Linux kernel 3.8. And also the early Sun SPARC v7, Cypress, which even lacked hardware multiply and divide, somewhere around the kernel release 3.4, … :-/

Update: It also becomes increasingly difficult to configure kernels less than ~2.6MB required for booting on ancient sparc32 Sun machines, … :-(

Update 2: those apparently also required “special” SCSI CD-ROM drives supporting 512 bytes sized sector reads, as opposed to 2048 sized sectors as used by standard PC drives, ..?

Resetting Sun idprom nvram

Thursday, December 21st, 2017

Note to self. Before it disappears from the interwebs. When your Sun idprom nvram battery dies.

The following was tested on a Sun SPARCstation 2 (sun4c) and Ultra 5 (sun4u):

Hit `n’ to get the new openboot prompt (it probably tries network booting):

f idprom@ 1 xor f mkp # this will invalidate the checkum
8 0 20 13 de ad c0ffee mkpl

Hit ctrl-D then ctrl-R, if you do NOT see a Sun Copyright notice, it worked, otherwise it failed.
You can check with:

.idprom

You probably want to set some sane defaults, and disable the diag mode, to skip the excessively long memory test each time you boot:

set-defaults
setenv diag-switch? false

#sun #ultrasparc #idprom #refresh #openfirmware #exactcode#t2sde #berlin

A post shared by RenéRebe™ (@renerebe) on

Update: A new clock chip also needs to be started. From what I read the old SunOS might have code in the kernel clock driver to do that, but AFAICS the Linux kernel does not. This (untested) OpenFirmware code sequence supposedly starts a new clock chip on sun4c:

2000000 obio 0 map-page # map NVRAM to page 0
80 7f8 c! # set write bit
0 7f9 c! # reset stop bit
80 7fb c! # set kick start
0 7f8 c! # reset write bit

#wait for two seconds
80 7f8 c! # set write bit
0 7fb c! # reset kick start

0 7f9 c! # set dummy time and date
0 7fa c! # (if necessary)
0 7fb c!
4 7fc c!
11 7fd c!
1 7fe c!
96 7ff c!

0 7f8 c! # reset write bit