Unoffical empeg BBS

Quick Links: Empeg FAQ | RioCar.Org | Hijack | BigDisk Builder | jEmplode | emphatic
Repairs: Repairs

Topic Options
#297733 - 29/04/2007 22:25 How to remove IDE cable without breaking header traces?
FireFox31
pooh-bah

Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
While trying to troubleshoot my friend's dying empeg, I managed to lift IDE header pads on my spare empeg.

How can I remove the IDE cable from the motherboard without damaging the IDE header?

I attempt to raise the cable "straight" off by gently pulling one side at a time, alternating between sides. However, I always have trouble with the left side (by the display cable). There's nothing to rest my left hand on to get leverage, while my right hand rests on the side of the case. Sure enough, I apply awkward pull to the left side and I broke the traces there.

I knew this empeg had it coming. When I first bought it, I noticed weak header solder and bought a longer IDE cable. It only took maybe 10 removals of the cable to pull the header.


For the record, these were my symptoms indicating degraded physical connection with the hard drive:
It lags on boot at the "Partition check:", saying "hda: lost interrupt". It sometimes shows "hda:disk error: status error" the screen after boot or while playing.

During a drive today, the music would stop randomly for a random amount of time (between a half second and five seconds), then continue. During the pause, the UI was not frozen. I could pause and start playback to immediately resume, or switch tracks to resume playback. When connected to hyperterminal during playback, the lag coincides with a "hda: lost interrupt" error.

Here's my boot log. Playback has paused a few times (the last few lines).

empeg-car bootstrap v1.02 20001106 (hugo@empeg.com)
If there is anyone present who wants to upgrade the flash, let them speak now,
or forever hold their peace...it seems not. Let fly the Penguins of Linux!

e000 v1.04
Copying kernel...
Calling linux kernel...
Uncompressing Linux..................................... done, booting the kernel.

Linux version 2.2.17-rmk5-np17-empeg52-hijack-v464 (hijack@rtr.ca) (gcc version 2.95.3 20010315 (release)) #2 Fri Oct 27 01:00:29 EDT 2006
Processor: Intel StrongARM-1100 revision 11
Checking for extra DRAM:
c1000000: wrote ffffffff, read e28cc001
NetWinder Floating Point Emulator V0.94.1 (c) 1998 Corel Computer Corp.
empeg-car player (hardware revision 9, serial number 30103002) 16MB DRAM
Command line: mem=16m
Calibrating delay loop... 207.67 BogoMIPS
Memory: 15008k/16M available (988k code, 20k reserved, 364k data, 4k init)
Dentry hash table entries: 2048 (order 2, 16k)
Buffer cache hash table entries: 16384 (order 4, 64k)
Page cache hash table entries: 4096 (order 2, 16k)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.2
Based upon Swansea University Computer Society NET3.039
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
TCP: Hash tables configured (ehash 16384 bhash 16384)
IrDA (tm) Protocols for Linux-2.2 (Dag Brattli)
Starting kswapd v 1.5
SA1100 serial driver version 4.27 with no serial options enabled
ttyS00 at 0xf8010000 (irq = 15) is a SA1100 UART
ttyS01 at 0xf8050000 (irq = 17) is a SA1100 UART
ttyS02 at 0xf8030000 (irq = 16) is a SA1100 UART
Signature is 206f6972 'rio '
Found custom animation at offset 0x9877c
Tuner: loopback=0, ID=-1
empeg display initialised.
empeg dsp audio initialised
empeg dsp mixer initialised
empeg dsp initialised
empeg audio-in initialised, CS4231A revision a0
empeg remote control/panel button initialised.
empeg usb initialised, PDIUSBD12 id 1012
empeg state support initialised 0089/88c1 (save to d0004700).
empeg RDS driver initialised
empeg power-pic driver initialised (first boot)
RAM disk driver initialized: 16 RAM disks of 4096K size
empeg single channel IDE
Probing primary interface...
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xff80
ide_data_test: wrote 0xffff read 0xff80
ide_data_test: wrote 0xaaaa read 0xaa80
ide_data_test: wrote 0x5555 read 0x5580
ide_data_test: wrote 0x0000 read 0xffff
ide_data_test: wrote 0xffff read 0xffff
ide_data_test: wrote 0xaaaa read 0xaaaa
ide_data_test: wrote 0x5555 read 0x5555
hda: probing with STATUS(0x50) instead of ALTSTATUS(0xff)
hda: FUJITSU MHL2300AT, ATA DISK drive
ide_data_test: wrote 0x0000 read 0xffff
ide_data_test: wrote 0xffff read 0xffff
ide_data_test: wrote 0xaaaa read 0xaaaa
ide_data_test: wrote 0x5555 read 0x5555
hda: probing with STATUS(0x50) instead of ALTSTATUS(0xff)
hda: FUJITSU MHL2300AT, ATA DISK drive
ide_data_test: wrote 0x0000 read 0xffff
ide_data_test: wrote 0xffff read 0xffff
ide_data_test: wrote 0xaaaa read 0xaaaa
ide_data_test: wrote 0x5555 read 0x5555
hda: probing with STATUS(0x50) instead of ALTSTATUS(0xff)
hda: FUJITSU MHL2300AT, ATA DISK drive
ide_data_test: wrote 0x0000 read 0xffff
ide_data_test: wrote 0xffff read 0xffff
ide_data_test: wrote 0xaaaa read 0xaaaa
ide_data_test: wrote 0x5555 read 0x5555
hda: probing with STATUS(0x50) instead of ALTSTATUS(0xff)
hda: FUJITSU MHL2300AT, ATA DISK drive
ide_data_test: wrote 0x0000 read 0xffff
ide_data_test: wrote 0xffff read 0xffff
ide_data_test: wrote 0xaaaa read 0xaaaa
ide_data_test: wrote 0x5555 read 0x5555
hda: probing with STATUS(0x50) instead of ALTSTATUS(0xff)
hda: FUJITSU MHL2300AT, ATA DISK drive
ide_data_test: wrote 0x0000 read 0xffff
ide_data_test: wrote 0xffff read 0xffff
ide_data_test: wrote 0xaaaa read 0xaaaa
ide_data_test: wrote 0x5555 read 0x5555
hda: probing with STATUS(0x50) instead of ALTSTATUS(0xff)
hda: FUJITSU MHL2300AT, ATA DISK drive
ide0 at 0x000-0x007,0x038 on irq 6
hda: FUJITSU MHL2300AT, 28615MB w/2048kB Cache, CHS=58140/16/63
empeg-flash driver initialized
smc chip id/revision 0x3349
smc9194.c:v0.12 03/06/96 by Erik Stahlman (erik@vt.edu)
SMC9194: SMC91C94(r:9) at 0x4008000 IRQ:7 INTF:TP MEM:6144b MAC 00:02:d7:26:0b:ba
Partition check:
hda:hda: lost interrupt
hda1 < hda5 hda6 > hda2 hda3 hda4
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 320 blocks [1 disk] into ram disk... |/-\|/-\|/-\|/-\|/-\done.
EXT2-fs warning: checktime reached, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem).
empeg-pump v0.03 (19980601)
Press Ctrl-A to enter pump...VFS: Mounted root (ext2 filesystem) readonly.
change_root: old root has d_count=1
Trying to unmount old root ... okay
Freeing unused kernel memory: 4k initempeg init 0.8
I see this is a developer image!
Mounting proc
Mounting first music partition
Tried to mount /dev/hda4 as reiserfs but got error 19
Mounting second music partition
Tried to mount /dev/hdc4 but got error 6
Error mounting partitions (possibly already mounted)
Remounting first music partition read-only
Remounting second music partition read-only
No secondary hard disk
Press 'q' now to go into development mode. You Have Zero Seconds To Comply...
Starting player
Timezone: US/Eastern
Hijack: intercepting config.ini
hijack: removed menu entry: "Serial Port Assignment"
khttpd: listening on port 80
kftpd: listening on port 21
Using non-standard cache size 124 (adjustment 10)
player.cpp : 385:empeg-car 2.00 2003/04/01.
hda: lost interrupt
hda: status error: status=0x58
hda: drive not ready for command
Prolux 4 empeg car - 2.1434 Mar 26 2003
Vcb: 0x407cd000
hda: lost interrupt
hda: lost interrupt
hda: lost interrupt
hda: lost interrupt


Edited by FireFox31 (29/04/2007 23:54)
_________________________
-
FireFox31
110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set

Top
#297734 - 29/04/2007 23:29 Re: Now MINE's hurt - lost interrupt, audio stalls [Re: FireFox31]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31600
Loc: Seattle, WA
My guess is that in the process of swapping stuff around, enough yanking and replugging of cables has loosened something up, like it pulled up a tab on the IDE header, or some such.
_________________________
Tony Fabris

Top
#297735 - 30/04/2007 00:02 Re: How to remove IDE cable without breaking header traces? [Re: tfabris]
FireFox31
pooh-bah

Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
Sorry Tony, I entirely changed my post while you were replying.

Still, I'd love to know a good way to remove the IDE cable nice and smoothly.
_________________________
-
FireFox31
110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set

Top
#297736 - 30/04/2007 01:47 Re: How to remove IDE cable without breaking header traces? [Re: FireFox31]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14496
Loc: Canada
There's no good way to do it, other than to not do it.

The strain on the header can be reduced by using some method of prying the cable slowly, like levering it from the mainboard, rather than just pulling on the connector (which tends to suddenly "let loose" causing an unwanted yank at one end..).

It's just the nature of the beast. That header was never intended to be touched beyond the factory. Bummer, eh.

-ml

Top
#297737 - 30/04/2007 23:54 Re: How to remove IDE cable without breaking header traces? [Re: mlord]
FireFox31
pooh-bah

Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
Quote:
never intended to be touched

::sigh:: I'd lost sight of that. Being a hardware guy, I just assume I can disconnect and reconnect IDE cables whenever I want.

As a side note, the IDE pads on the MK2 I'm working with have the most perfectly even application of HARDLY ANY solder. On both of my MK2a's, pads have different amount of solder ranging from "lots" to "decent, I guess". But the MK2.... wow, I'm surprised that header is attached.
_________________________
-
FireFox31
110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set

Top
#297738 - 01/05/2007 01:49 Re: How to remove IDE cable without breaking header traces? [Re: FireFox31]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14496
Loc: Canada
Quote:

As a side note, the IDE pads on the MK2 I'm working with have the most perfectly even application of HARDLY ANY solder.


Yeah, that kind of sloppy assembly seems to be commonplace. Just in the past week I resoldered the USB connector for a D-Link wifi adapter that looked a lot like a faulty empeg header.

And yesterday I fixed my USB_to_IDE/notebook/SATA drive adapter "cable" dongle thingie. It had a 3-pin tab style regulator/transistor inside that was just barely touching the solder pads. After 10 minutes use it would konk out. Duh.

Cheers


Edited by mlord (01/05/2007 01:50)

Top
#297739 - 01/05/2007 02:57 Re: How to remove IDE cable without breaking header traces? [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
Quote:
Yeah, that kind of sloppy assembly seems to be commonplace

Not an excuse, but if you've ever looked at the price of solder paste used in board assembly, you might relate to the tendency to use small amounts of solder.

Stu
_________________________
If you want it to break, buy Sony!

Top