maZZoo maZZoo's blog
very low frequency tech postings  -  hard

    code [12]
    dect [4]
    hard [8]
    meta [5]
    security [5]

jul 2009 (1)
jun 2009 (1)
jan 2009 (2)
dec 2008 (1)
oct 2008 (1)
jan 2008 (1)
oct 2007 (1)
jun 2007 (1)
feb 2007 (3)
jan 2007 (3)
nov 2006 (2)
aug 2006 (2)
jul 2006 (1)
may 2006 (1)
nov 2005 (2)
oct 2005 (1)
apr 2005 (2)
mar 2005 (2)
feb 2005 (1)
jan 2005 (1)
may 2004 (1)
jan 2004 (1)
apr 2003 (1)
jan 2003 (1)

Fri, 24 Oct 2008

PCMCIA pinout

as I couldn't find this information freely on the web, here's my version of the PCMCIA pinout:

in the above picture of a 5V card (female connector) pins are arranged like this:

34 33 32 ...  3  2  1
68 67 66 ... 37 36 35
pin functions are
1 	Ground
2 	D3
3 	D4
4 	D5
5 	D6
6 	D7
7 	CE1
8 	A10
9 	OE
10 	A11
11 	A9
12 	A8
13 	A13
14 	A14
15 	WE
16 	Ready
17 	Vcc
18 	Vpp1
19 	A16
20 	A15
21 	A12
22 	A7
23 	A6
24 	A5
25 	A4
26 	A3
27 	A2
28 	A1
29 	A0
30 	D0
31 	D1
32 	D2
33 	Wp
34 	GND
35 	GND
36 	CD1
37 	D11
38 	D12
39 	D13
40 	D14
41 	D15
42 	CE2
43 	VS1/RFSH
44 	Reserved
45 	Reserved
46 	A17
47 	A18
48 	A19
49 	A20
50 	A21
51 	Vcc
52 	Vpp2
53 	A22
54 	A23
55 	A24
56 	A25
57 	VS2/RFU
58 	Reset
59 	Wait
60 	Reserved
61 	Reg
62 	BVD2
63 	BVD1
64 	D8
65 	D9
66 	D10
67 	CD2
68 	GND

posted in /hard  |  link  |  comments [0]   
Sun, 14 Oct 2007

Chipcon/TI CC1110 radio transceiver

In early spring 2006 Chipcon (Texas Instruments today) announced a very promising ISM radio transceiver device. Today first people are getting hold of the CC1110:


Nick Chernyy has taken a series of great shots of the CC1110. In his microblog he's doing silicon porn pics every friday (aka IC Friday).
All kudos go to Nick!

I had designed a board for the transceiver back in last spring and am still awaiting the first samples. The CC1110 main features are:

  • 315/433/868/915 MHz GFSK radio
  • 8051 CPU @ 24 MHz (@1 instruction per cycle, not 12:)
  • 128 bit AES coprocessor
  • 32 kB flash
  • 4 kB SRAM
  • 5 channel DMA engine
The board I designed couples the CC1110 via a FTDI to a USB host PC. For the RF part I still need to design a power amp board, as I am targetting a small frequency slot between 869.40 and 869.65 MHz, where (atleast) in germany we're allowed to operate at 500 milliwatts ERP.

A far-in-the-future target of this spare time work will be an encrypted ad-hoc radio network layer.

If I made you curious, just wait for more to come.
If you're an enthusiastic developer, contact me, I may need your help.

posted in /hard  |  link  |  comments [3]   
Tue, 06 Feb 2007

less than 42 in 1

you all know these flash-card readers which are being sold as 12-in-one readers or 23-in-one or even 42-in-one readers. I have one of these for a while now, which I had gotten from a flea market for 2 Euros. And for my new mobile phone I had gotten one of these tiny 2GB microSD cards.

The reader had worked fine with one of my old 32MB MMC cards, but not with the 2GB card. I was tempted to blame the linux kernel driver, but the investment of 20 Euros (what a fair price, I live in the jungle:) for a new reader proved it was a problem of the reader. Such a reader basically is a USB-based SPI-controller which translates host requests to SPI which the card understands. SPI itself has no addressing scheme, so the controller is to blame, having a limited address-space.

If you ever have trouble with a non-working flashcard, and find somthing like this in your logs:

kernel Initializing USB Mass Storage driver...
kernel scsi0 : SCSI emulation for USB Mass Storage devices
kernel usb-storage: device found at 3
kernel usb-storage: waiting for device to settle before scanning
kernel usbcore: registered new interface driver usb-storage
kernel USB Mass Storage support registered.
kernel scsi 0:0:0:0: Direct-Access     IC       USB Storage-CFC  301b PQ: 0 ANSI: 0 CCS
kernel scsi 0:0:0:1: Direct-Access     IC       USB Storage-SMC  301b PQ: 0 ANSI: 0 CCS
kernel scsi 0:0:0:2: Direct-Access     IC       USB Storage-MMC  301b PQ: 0 ANSI: 0 CCS
kernel scsi 0:0:0:3: Direct-Access     IC       USB Storage-MSC  301b PQ: 0 ANSI: 0 CCS
kernel usb-storage: device scan complete
kernel scsi.agent[20468]: disk at /devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/host0/target0:0:0/0:0:0:2
kernel scsi.agent[20457]: disk at /devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/host0/target0:0:0/0:0:0:3
kernel scsi.agent[20461]: disk at /devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/host0/target0:0:0/0:0:0:1
kernel scsi.agent[20454]: disk at /devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/host0/target0:0:0/0:0:0:0
kernel sd 0:0:0:0: Attached scsi removable disk sda
kernel sd 0:0:0:1: Attached scsi removable disk sdb
kernel sd 0:0:0:2: scsi: Device offlined - not ready after error recovery
kernel sdc : READ CAPACITY failed.
kernel sdc : status=0, message=00, host=1, driver=00
kernel sdc : sense not available.
kernel sdc: Write Protect is off
kernel sdc: Mode Sense: 00 00 00 00
kernel sdc: assuming drive cache: write through
kernel sd 0:0:0:2: Attached scsi removable disk sdc
kernel usb_id[20644]: usb_id: unable to access '/block/sda'
kernel usb_id[20655]: usb_id: unable to access '/block/sdc'
kernel usb_id[20684]: usb_id: unable to access '/block/sdb'
kernel scsi_id[20685]: scsi_id: unable to access '/block/sdb'
kernel scsi_id[20656]: scsi_id: unable to access '/block/sdc'
kernel scsi_id[20739]: scsi_id: unable to access '/block/sdc'
kernel scsi_id[20645]: scsi_id: unable to access '/block/sda'
kernel scsi_id[20741]: scsi_id: unable to access '/block/sda'
kernel scsi_id[20747]: scsi_id: unable to access '/block/sdb'
get a new reader. If you want warranty forever, don't buy in germany (as I did, not reading the fine print ;). Italians: leave the country! Warranty for your great grantchildren's 22 ExaByte cards is to get elsewhere.

never in italy

posted in /hard  |  link  |  comments [0]   

harddrive on coffee

Some two weeks ago I had spilled coffee over my laptop. Not too much, but I feared the desaster and immediately turned the laptop upside-down and wiped it dry. The machine kept working and I almost forgot about it, also I don't reboot very often. Until I installed the new 2.6.20 kernel yesterday. I rebooted and the BIOS splash screen sat there unusually long while the HDD-LED was blinking wildly. The harddisk wasn't recognized anymore.
To ensure I didn't fuck up the bootloader I booted a live-CD and could confirm the harddisk was still working propperly, and the bootloader was installed correctly. So the fear of dataloss (not too much but still nasty) was gone. The biggest remaining fear was that the mainboard's HDD-controller was gone. But first I removed the harddisk and found ... coffee with sugar!



I wiped the board clean with a cloth of microfiber and distilled water. Luckily the component side had no traces of the brew. Rebooted, and the BIOS talked to the drive again. Not being a chemist I am still wondering what is so conductive in completely dried coffee with sugar?

Note to self: next time do performance tests on a harddrive on caffeine ;)

lessons learned:
  • linux still has no live kernel update
  • we're still better off drinking coffee with sugar than with salt

posted in /hard  |  link  |  comments [2]   
Fri, 18 Nov 2005

color snapshots from a black n white Tektronix oscilloscope

lucky me owns a Tektronix TDS540 oscilloscope (4 channels, 500MHz BW, 1 GS/s) without floppy drive and BW monitor.
Here's an easy way to create colored .png files from the TDS540 (and probably other TDS series CRO) :

  • connect the TDS to your PC via RS232
  • in the Hardcopy Menu set the printer to "EPS Color Encapsulated Postscript color plot"
  • Layout: Landscape
  • Port: RS232
  • have ghostscript installed on your PC
  • run the perl script TDSsnap (also below)
  • press the HARDCOPY button
  • you should obtain two files TDSsnapshot.eps and TDSsnapshot.png
snapshot from Tektronix TDS540

#!/usr/bin/perl -w

use strict;

my $device="/dev/ttyS7"; # change this to your needs!

print "ensure the Tektronix prints as \"EPS Color /Encapsulated Postscript color plot/\"\n";
print "connect it to $device (for me: Quatech interface D)\n";

open F, "<$device" or die "cannot open $device\n";

print "\npress the HARDCOPY button\n\n";

my $eps="";
my $i=0;

while (<F>){
        s/.*translate 90 rotate$/20.00 20.00 translate/;
        $eps .= $_;
        print "\rEPS line " . $i++;
        last if /^%\%EOF$/;

close F or die "cannot close $device\n";

print "\n";

my $outname="TDSsnapshot";

$outname=$ARGV[0] if $ARGV[0];

print "creating $outname.eps\n";

open F, ">$outname.eps" or die "cannot open $outname.eps\n";
print F $eps;

close F or die "cannot close $outname.eps\n";

print "creating $outname.png\n";

open F, "| /usr/bin/gs -sDEVICE=png256 -q -dSAFER -dNOPAUSE -dBATCH -g630x480 -sOutputFile=$outname.png -_"
        or die "cannot pipe into /usr/bin/gs (ghostscript not installed?)\n";
print F $eps;

close F or die "cannot close $outname.eps\n";

print "done.\n";

posted in /hard  |  link  |  comments [0]   

Fri, 18 Mar 2005

nordic nRF9E5 stuff

the nRF9E5 is

  • a 433/868/915Mhz
  • GFSK radio transceiver
  • max. 10dBm transmit power
  • max 53kpbs (manchester encoded)
  • integrated 8051 derivate
  • similar parts: nRF24E1, nRF24E2, without 8051: nRF905, nRF2401, nRF2402
datasheet(v1.2) from nordic semiconductor

I have created some notes on the device (hoping to keep it up to date while I work on it).
I am coding in assembler, tools: asx8051 and aslink of the SDCC (small device c compiler)

my nRF9E5 include file

The EEPROM needs a 3 byte header, so for my toolchain, I needed to hack

an excerpt from the source:

# (c) by maZZoo [a]
#                   licensed under GPLv2
# mangles EEPROM data for an 8051-based nordic semicondictor
# nRF9E5 radio transceiver.
# reads an Intel-hex-formatted file from stdin,
# writes it to stdout, all output addresses
# will be increased by $offset (>=3)
# prepends bytes as the nRF9E5 requires.
# probably does quite the same job as nordic's
# eeprep.exe - I never happened to run it.
# usage:
#       cat aslinkout.ihx | ./ > myeeprom.hex

After hacking the quick-n-dirty perl-script, I found srecord which seems to be able to do the same job; it can handle a wide variety of program formats and operations.

For programming the boot-EEPROM 25C320 I use ponyprog.

posted in /hard  |  link  |  comments [2]   

Sat, 15 Jan 2005

the nokia 6230 disassembled

using a Torx T6 you can open the Nokia 6230 by removing 6 screws on
the frontside.


then the PCB can simply be taken off. here's the backside.


Andreas Toenne asked in cs15uc$2sg$02$ whether
one can remove the camera module and whether then the mobile
still works. this can be useful if want to take your mobile
legally to sensitive places, where cameras are banned.
one can quite simply remove the camera module -
it is locked by 3 snap-in locks, two on the lower side, one at
the upper side of the module in the following pic.


Now the test:


the Nokia6230 works fine without camera module (I didn't test each
and everything, but a phonecall worked)
if you select the camera menu you get an error message (not shown)
and then this:


"Standby" as in "lying around nearby" ;)

the test was done with a german O2 firmware on the 6230.


my curiosity still wasn't satisfied, and I tried to identify the
chipset. here's a closeup of the digital part.


[1] labelled
	SEC 437 V675

[2] labelled
    I assume this is the EDGE/GPRS/GMS baseband processor (which is
    a wild guess from its name). I only found one russian site referring "TIKUEDGE".

    let me know in case you know more details or can translate the pages
    to something more of a lingua franca.

[3] labelled
	SEC 440 DI7B

[4] labelled
	GK 10U VP
	CHN GK 441

[5] labelled
	SEC 440 LG00

I didn't google for the devices yet - let me know if you have some news.

posted in /hard  |  link  |  comments [0]   

Fri, 02 Jan 2004

repair of an ICF-PRO80

similar to the ICF-PRO70

English below
Mein SONY ICF-PRO80 hatte das Problem, dass Lautsprecher und Kopfhörer nur extrem leise zu hören waren. Hier beschreibe ich kurz meine erfolgreiche Reparatur.
The speaker and headphone output of my SONY ICF-PRO80 were very very silent. Here I describe how I successfully repaired it.

A snap of the disassembled ICF-PRO80:
A snap of the amplifier board:
Some of the capacitors leaked a bit:
I decided to replace most of the caps, they seem to be really bad, as the volume increased on most of the capacitors I replaced.
Amp-board with the replaced caps:
I replaced
4x 47uF/6.3V
2x 47uF/16V
1x 220uF/16V
1x 470uF/10V

You may also get your Sony ICF-70/80 fixed here.
Here's a short description on the ICF PRO 80.

posted in /hard  |  link  |  comments [21]   

validate HTML