Unoffical empeg BBS

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

Topic Options
#278039 - 21/03/2006 23:06 Hijack v450: enable playback with dead cs4231a
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Hijack v450 is now available, as is v449.

New in v449: allow button names to be used with extmute_on= and extmute_off= options.

New in v450: enable empeg to be used for digital playback (mp3, ogg, wav, ..) even when the cs4231a chip is dead.

That chip is only used for analog inputs, so this version of hijack forces the player into digital playback mode when it detects a dead cs4231a chip. It also intercepts the button codes for switching to analog inputs and ignores them. So no Tuner, no Aux, but the rest still works.

There's probably a loophole in there somewhere (eg. attempting to use the microphone..), but it works for me.

Cheers


Edited by mlord (21/03/2006 23:10)

Top
#278040 - 21/03/2006 23:25 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
matthew_k
pooh-bah

Registered: 12/02/2002
Posts: 2298
Loc: Berkeley, California
Quote:
New in v449: allow button names to be used with extmute_on= and extmute_off= options.

Ah, I've always had the extmute buttons trigger a made up button code and then ir_translated that to what I wanted. I never knew why it had to be that way, but it worked. (Still) Looking forward to playing with this.

Matthew

Top
#278041 - 21/03/2006 23:34 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
tfabris
carpal tunnel

Registered: 20/12/1999
Posts: 31572
Loc: Seattle, WA
Wow, what a fantastic feature! You are THE MAN.
_________________________
Tony Fabris

Top
#278042 - 22/03/2006 00:29 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
tman
carpal tunnel

Registered: 24/12/2001
Posts: 5528
The CS4231A is just used to sample the tuner/aux audio for the visualisations isn't it? I wonder how much work it would be to just fake the presence of the CS4231A and return 0 samples instead of disabling the tuner/aux.

Top
#278043 - 22/03/2006 01:31 Re: Hijack v450: enable playback with dead cs4231a [Re: tman]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Quote:
The CS4231A is just used to sample the tuner/aux audio for the visualisations isn't it? I wonder how much work it would be to just fake the presence of the CS4231A and return 0 samples instead of disabling the tuner/aux.


Yeah, I'm considering trying that. Easy enough to implement, but I don't know exactly what depends upon a real chip there. Other than the visuals for the analog sources.

Cheers

Top
#278044 - 22/03/2006 01:37 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
Gleep
member

Registered: 09/03/2003
Posts: 121
Loc: Iowa
Quote:
New in v450: enable empeg to be used for digital playback (mp3, ogg, wav, ..) even when the cs4231a chip is dead.


Can someone explain in English what this feature is?

Top
#278045 - 22/03/2006 01:56 Re: Hijack v450: enable playback with dead cs4231a [Re: Gleep]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Quote:
Quote:
New in v450: enable empeg to be used for digital playback (mp3, ogg, wav, ..) even when the cs4231a chip is dead.


Can someone explain in English what this feature is?


Sure. A modestly common hardware failure in the Empeg/RioCar units, is for a big chip called the cs4231a to die (permanently stops functioning). This is extremely difficult to fix, and when attempted has a less than 50% success rate.

Usually, the death of that chip means the end of the player, or expensive repairs.

Hijack v450 simply tries to allow the player to continue functioning even with that dead chip, at least for the stuff that doesn't actually use the chip. This only works when the dead chip isn't interfering with other hardware.

Cheers

Top
#278046 - 22/03/2006 12:03 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
Gleep
member

Registered: 09/03/2003
Posts: 121
Loc: Iowa
Thanks Mark

That is one feature I hope I never need.

Top
#278047 - 22/03/2006 21:04 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
Snowshoe
new poster

Registered: 04/04/2004
Posts: 16
Loc: Midwest
So the only thing that would play, if that chip died & you use this feature, are the mp3's, right?

Quote:
forces the player into digital playback mode

That sounds better than the original setup (analog), with the exception of losing the tuner/aux functions, why not do it all the time, I know I'm missing something here.

Top
#278048 - 22/03/2006 21:26 Re: Hijack v450: enable playback with dead cs4231a [Re: Snowshoe]
wfaulk
carpal tunnel

Registered: 25/12/2000
Posts: 16706
Loc: Raleigh, NC US
Quote:
That sounds better than the original setup

You mean the way the empeg has worked all along?

I have a feeling that the point you're missing is that, when playing mp3s (or wavs or wmas or oggs or flacs), the empeg is in digital playback mode. It only uses the analog mode when using the tuner or the aux, where it has no digital audio path.
_________________________
Bitt Faulk

Top
#278049 - 22/03/2006 21:27 Re: Hijack v450: enable playback with dead cs4231a [Re: Snowshoe]
matthew_k
pooh-bah

Registered: 12/02/2002
Posts: 2298
Loc: Berkeley, California
It always plays mp3's "digitally". It always gets the aux/tuner from analog. No getting around that. This just lets you use the mp3's when the analog portion is fried.

Matthew

Top
#278050 - 23/03/2006 03:39 Re: Hijack v450: enable playback with dead cs4231a [Re: matthew_k]
genixia
Carpal Tunnel

Registered: 08/02/2002
Posts: 3411
And to clarify further - it only uses this particular chip to do the visuals. The audio is still handled by the dsp.
_________________________
Mk2a 60GB Blue. Serial 030102962 sig.mp3: File Format not Valid.

Top
#278051 - 23/03/2006 03:55 Re: Hijack v450: enable playback with dead cs4231a [Re: genixia]
gbeer
carpal tunnel

Registered: 17/12/2000
Posts: 2665
Loc: Manteca, California
Quote:
And to clarify further - it only uses this particular chip to do the visuals. The audio is still handled by the dsp.


Ok, I'll bite. Why is that chip needed for the visuals?
_________________________
Glenn

Top
#278052 - 23/03/2006 04:16 Re: Hijack v450: enable playback with dead cs4231a [Re: gbeer]
matthew_k
pooh-bah

Registered: 12/02/2002
Posts: 2298
Loc: Berkeley, California
It samples the audio for the CPU. The CPU tells the DSP what to do, but it does it all by itself without sending the audio through the CPU. So when the CPU wants to know what's going on with the audio, it has to sample it for itself.

Matthew

Top
#278053 - 26/03/2006 21:56 Re: Hijack v450: enable playback with dead cs4231a [Re: matthew_k]
FireFox31
pooh-bah

Registered: 19/09/2002
Posts: 2494
Loc: East Coast, USA
Geez, in the next year or so, we'll have this whole thing reverse engineered. Good work Mark!
_________________________
-
FireFox31
110gig MKIIa (30+80), Eutronix lights, 32 meg stacked RAM, Filener orange gel lens, Greenlights Lit Buttons green set

Top
#278054 - 11/12/2006 12:47 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
Quote:
Hijack v450 is now available, as is v449.

New in v450: enable empeg to be used for digital playback (mp3, ogg, wav, ..) even when the cs4231a chip is dead.

That chip is only used for analog inputs, so this version of hijack forces the player into digital playback mode when it detects a dead cs4231a chip. It also intercepts the button codes for switching to analog inputs and ignores them. So no Tuner, no Aux, but the rest still works.

There's probably a loophole in there somewhere (eg. attempting to use the microphone..), but it works for me.

Cheers


I assume this feature is automatic? I've got a unit that does not recognize any hard drive no matter what cable is used and even with a resoldered header. The only thing I see from the boot log is that the CS4231 was not found. Would this cause the HD's to be totally ignored though? I've got the latest Hijack installed but that didn't help it.

Stu


Attachments
291887-bootlog.txt (91 downloads)

_________________________
If you want it to break, buy Sony!

Top
#278055 - 11/12/2006 15:14 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Versions of Hijack prior to v459 may not include the "complete" fix for this, so ensure you're using the latest (v464 right now).

With Hijack >= v459, the fix is automatic. If the cs4231a is dead, Hijack will notice and automatically try to work around the fault. This may or may not succeed, depending on the actual state of the dead chip.

It usually works, but once in a while the dead chip (1) may be driving some pins regardless, preventing use of the peripheral bus, or (2) might be the ethernet chip instead of the cs4231a.

Cheers

Top
#278056 - 11/12/2006 15:52 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
Quote:
Versions of Hijack prior to v459 may not include the "complete" fix for this, so ensure you're using the latest (v464 right now).

With Hijack >= v459, the fix is automatic. If the cs4231a is dead, Hijack will notice and automatically try to work around the fault. This may or may not succeed, depending on the actual state of the dead chip.

It usually works, but once in a while the dead chip (1) may be driving some pins regardless, preventing use of the peripheral bus, or (2) might be the ethernet chip instead of the cs4231a.

Cheers


It's got Hijack 464. So you are saying it is possible for the ethernet chip or CS4231 to completely lock up the IDE bus? In the past it was usually a single stuck bit on the ethernet chip and at least the HDs were recognized.

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

Top
#278057 - 11/12/2006 17:16 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Quote:
t it was usually a single stuck bit on the ethernet chip


That (above) is an example of "locking up the bus". IDE won't work with breakage like that.

Cheers

Top
#278058 - 11/12/2006 17:57 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
Sure, but in this case it's something more difficult to troubleshoot because we can't even see if there is a stuck bit.

Could this possibly be a problem with the addressing bits?

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

Top
#278059 - 11/12/2006 18:20 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Anything is possible. But it is kinda difficult to comment here, as you have yet to provide *any* information (hint: boot log?).

Cheers

Top
#278060 - 11/12/2006 18:53 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
It was attached a few posts up, but here it is inline.


empeg-car bootstrap v1.02 20001106 ([email protected])
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.14-rmk5-np17-empeg52 (rob@aphex) (gcc version 2.95.3 20010315 (release)) #11 Tue Apr 1 18:49:59 BST 2003

Processor: Intel StrongARM-1100 revision 11

NetWinder Floating Point Emulator V0.94.1 (c) 1998 Corel Computer Corp.

empeg-car player (hardware revision 9, serial number 40103200)

Command line: mem=16m

Calibrating delay loop... 207.67 BogoMIPS

Memory: 15024k/16M available (964k code, 20k reserved, 372k 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)

Linux-IrDA: IrCOMM protocol ( revision:Tue May 18 03:11:39 1999 )

ircomm_tty: virtual tty driver for IrCOMM ( revision:Wed May 26 00:49:11 1999 )

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 20706d65 'emp '

empeg display initialised.

empeg dsp audio initialised

empeg dsp mixer initialised

empeg dsp initialised

Could not find CS4231A (version=80)

empeg remote control/panel button initialised.

empeg usb initialised, PDIUSBD12 id 1012

empeg state support initialised 0089/88c1 (save to d0005600).

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...

Probing primary interface...

empeg-flash driver initialized

smc chip id/revision 0x1b49

smc_init couldn't find card

RAMDISK: ext2 filesystem found at block 0

RAMDISK: Loading 320 blocks [1 disk] into ram disk...

done.

VFS: Mounted root (ext2 filesystem).

empeg-pump v0.03 (19980601)
Press Ctrl-A to enter pump... VFS: Cannot open root device 03:05

Kernel panic: VFS: Unable to mount root fs on 03:05
_________________________
If you want it to break, buy Sony!

Top
#278061 - 11/12/2006 19:08 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Quote:
It was attached a few posts up, but here it is inline.


Ah, I missed that one. But how about a log with *Hijack* installed ?

Thanks

Top
#278062 - 11/12/2006 19:11 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
From the non-Hijack log, it looks like data bit D5 is stuck low, probably due to the ethernet chip. But it would still be good to see the Hijack trace, with no drives installed.

Cheers

Top
#278063 - 11/12/2006 19:47 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
.D'oh! I thought Hijack was installed when I pulled the boot log, but apparently not! I didn't realize Hijack's IDE testing worked without the drives installed. Bootlog attached.


Attachments
291932-bootlog.txt (116 downloads)

_________________________
If you want it to break, buy Sony!

Top
#278064 - 11/12/2006 23:39 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Yeah, probably D5 at the ethernet chip (counting from D0). Perhaps try lifting that one pin, and see if the rest of it comes back to life.

Cheers

Top
#278065 - 12/12/2006 20:16 Re: Hijack v450: enable playback with dead cs4231a [Re: mlord]
maczrool
pooh-bah

Registered: 13/01/2002
Posts: 1649
Loc: Louisiana, USA
Okay, it was D5 as it has been before if I recall. How is it you can infer the fault of a single bit from a series of mismatches in the IDE test? 0xffff ----> 0xffdf and 0x5555 ----> 0xff55 imply several bits are off do they not?

In any case, thanks again for your help.
Stu
_________________________
If you want it to break, buy Sony!

Top
#278066 - 12/12/2006 21:18 Re: Hijack v450: enable playback with dead cs4231a [Re: maczrool]
mlord
carpal tunnel

Registered: 29/08/2000
Posts: 14482
Loc: Canada
Quote:
How is it you can infer the fault of a single bit from a series of mismatches in the IDE test? 0xffff ----> 0xffdf and 0x5555 ----> 0xff55 imply several bits are off do they not?



Heh.. Well, in an ideal world, the bus should read back all ffff's with no drives connected. But in practice, since it is basically tristated, the bus is floating. So the value we write tends to take a while to "fade away" again, before we see ffff.

The test we're doing isn't patient enough to wait for the bus to float back to ffff after we write, so we have to keep this in mind when evaluating the IDE test output with any value other than ffff being written.

But for the case of writing ffff, and then reading it back, we really should see ffff on the readback, most of the time. And that's the giveaway here: it consistently gave us this:

ide_data_test: wrote 0xffff read 0xffdf

So bit D5 appears to be stuck low (zero).

To validate this, then look at the rest of the trace, and verify that D5 is *never* anything other than a zero. Now double-check it against the CS4231A test earlier on, where we read 80 rather than the normal A0 value. Again, D5 is stuck low.

Cheers!

Top