S90 Porting Thread

  • 397 Replies
  • 81240 Views
S90 Porting Thread
« on: 12 / November / 2009, 21:00:19 »
Advertisements
Welcome to the S90 porting thread!

If you were already planning on working on a S90 port and actually know what you're doing, please free to join / hijack the thread.  I'm new to CHDK and reverse engineering, but I'm an electrical engineer and I've done some DSP and microcontroller programming.  I'm a grad student at UIUC in Champaign-Urbana, Illinois, USA.  If you live in town and want to help on the port, please contact me at [email protected]

Cheers,
Drew

*

Offline reyalp

  • ******
  • 10069
Re: S90 Porting Thread
« Reply #1 on: 12 / November / 2009, 21:17:23 »
Welcome. If you haven't already, be sure to start by reading  http://chdk.wikia.com/wiki/Adding_support_of_a_new_camera and http://chdk.wikia.com/wiki/For_Developers

According to the wiki for this camera http://chdk.wikia.com/wiki/S90 there is no firmware dump yet. As you may have noticed, the current udumper software method does not work on the recent cameras. You will probably want to take a look at the porting threads for other new cameras for more information.
Some of these are
sx200 http://chdk.setepontos.com/index.php/topic,3994.0.html
sd980 http://chdk.setepontos.com/index.php/topic,4228.0.html
ixus100 http://chdk.setepontos.com/index.php/topic,3995.0.html
sx20 http://chdk.setepontos.com/index.php/topic,4348.0.html

If you want some real time advice, there are frequently a few of us in #CHDK on the freenode IRC network.
Don't forget what the H stands for.

*

Offline RaduP

  • *****
  • 856
Re: S90 Porting Thread
« Reply #2 on: 13 / November / 2009, 04:03:43 »
It is good that you are an electrical engineer. Grab a phototransistor, an oscilloscope, an USB to serial cable (you can use the COM port on the back of your PC if you have one, but it can be inconvenient to go with the oscilloscope under your desk).
The most important thing is to find the proper delay in blinking the LED, to synchronize it with the COM (ideally, 9600 bauds).

Re: S90 Porting Thread
« Reply #3 on: 14 / November / 2009, 12:04:39 »
From what I've read here I thought it wouldn't work, but I decided to go ahead and try doing a firmware dump on my S90 with Cardtricks/Udumper.

Sure enough, no luck.  :(


Re: S90 Porting Thread
« Reply #4 on: 18 / November / 2009, 11:15:30 »
Thanks for the links guys!  I actually already have a huge pile of reflective object sensors lying around, and one of them might even still be hooked up to the analog input of an arduino running code that automatically sets the input threshold.  How many KB should I be expecting for the firmware?  If it's small, maybe I'll just dump it onto the arduino all at once.

Or should I keep it simple and put the phototransistor output through a comparator and into the mic input on my laptop?  If someone already has slick software that can automate the re-digitization, I might as well take advantage of it.

Cheers,
Drew

Re: S90 Porting Thread
« Reply #5 on: 18 / November / 2009, 12:35:53 »
I was able to capture a .wav file that shows six spikes corresponding to the transitions of three pulses I generated by half-shuttering with the autofocus LED turned on.  Hopefully at RS232 rates the exponential decay won't be an issue.  My card reader will arrive tomorrow, so I'm done for the day.  Let me know if anyone gets the camera to respond to firmware or blink out it's firmware.  Cheers, Drew

Re: S90 Porting Thread
« Reply #6 on: 20 / November / 2009, 12:11:41 »
I'm having trouble getting the camera to respond to firmware

Formatted a 128MB SD card using the shell script from http://cowboytronic.com/chdk/chdk_prep.dmg.  Seemed to work exactly as advertised.  By default this created partitions:
CHDK, FAT16, 16 MB
CAMCARD, FAT32, the remaining 105 MB
For the following I'm ignoring the CAMCARD partition and using the CHDK partition.

Verified that the camera does indeed display more detailed firmware information with a "Ver.req" file on the disk.  The info matches what is on the wiki.  Deleted the Ver.req file

Tried using the diskboot.bin from led_finder_by_jeff666.zip downloaded from http://drop.io/chdkdevelopment:

Copied the diskboot.bin file to the card, made sure my mac didn't add any extra files or screw up the permissions.  Locked the card and inserted it into camera.

Camera did not show any change of behavior aside from warning me that the disk is locked.

Tried both booting in both shooting mode and play mode, and with the file named diskboot.bin and DISKBOOT.BIN

Please chime in if you notice that I forgot something, otherwise I figure my next step is to buy/borrow a cheap supported camera and verify that the blinker works on that camera.  Thanks!

*

Offline whim

  • ******
  • 2013
  • A495/590/620/630 ixus70/115/220/230/300/870 S95
Re: S90 Porting Thread
« Reply #7 on: 20 / November / 2009, 12:51:45 »
Hi drewm1980,

I'm not sure about this (never used jef666's ledblinker) but i know it dates from before encrypted DISKBOOT.BIN's,
so you will probably need to use dancingbits on it (you can find the source in the CHDK source /tools directory)
The newer cams use 2 or 3 as version parameter ( usage: dancingbits <in file> <out file> <version> )

judging by the link, you're on MacOS, so unfortunately i can't help you find a binary.

HTH,

wim




Re: S90 Porting Thread
« Reply #8 on: 20 / November / 2009, 13:57:43 »
Hi drewm1980,

... encrypted DISKBOOT.BIN's,
so you will probably need to use dancingbits on it (you can find the source in the CHDK source /tools directory)
The newer cams use 2 or 3 as version parameter ( usage: dancingbits <in file> <out file> <version> )

judging by the link, you're on MacOS, so unfortunately i can't help you find a binary.


Thanks wim!  I'll try that.  I'll be doing most of my work on Debian; was just tinkering around a bit on my mac laptop at home.  I think I have the gcc arm cross compiler toolchain set up, but I haven't tested it yet. 

Re: S90 Porting Thread
« Reply #9 on: 31 / December / 2009, 14:33:50 »
Having spent a chunk of the evening swapping cards in and out using the diskboot.bin and the LED finder code, I can confirm that the LED address for the S90 is 0xC0223030. Now, guess I'll need to try and dig out an old mouse to cannibalise...

EDIT: Can't find my soldering iron at present, and don't seem to have a spare photosensort of any sort. Will blink out firmware saturday if i can get the bits i need.
« Last Edit: 31 / December / 2009, 17:05:05 by rachelkitty »

 

Related Topics