Unknown Sunplus co LTD|USB Device [Mass Storage|Scsi|Bulk(Zip)]
I have tried a ton of tutorials on the web on usb cameras, and Ive visited
the linux usb site to no avail. Can someone tell me how to get this to work
or perhaps direct me to a link where I can find more info? The above also
shows up in usb view when plugged in. When I tried a script I got from a
camera how to site. All I got was no media found, unable to mount. The
camera has 16Mb built in, and supports SD/MMC i think or at least MMC. At
any rate, I dont have a card, and was wondering if the reason I get no media
found is because it could be looking for the card instead of the built in
flash?
On another note, is there a program to create animated gifs in linux in a
painless sort of way, like how ulead cool 3d does in windows?
Thanks for any help, As I really appreciate it.
griz
Gimp, create layers for the various frames of the animation,
GIF, the layer names should have the frame time in brackets at the
end, save as GIF and it will ask you to save it as an animation.
Layer names something like
Layer 1 (100 ms)
Layer 2 (200 ms)
etc.
--
- Pankaj
----------------------------------------------------------------------
One OS to rule them all, one OS to find them,
One OS to bring them all and in the darkness bind them,
In the Land of Redmond where the Shadows lie.
----------------------------------------------------------------------
> I have tried a ton of tutorials on the web on usb cameras, and Ive visited
> the linux usb site to no avail. Can someone tell me how to get this to
> work
Mustek MDC-3500 seems to have problems with some SCSI commands linux sends
to it. You need to insert following lines into
drivers/usb/storage/unusual_devs.h file:
UNUSUAL_DEV( 0x055f, 0xc233, 0x0000, 0x9999,
"Mustek",
"MDC-3500",
US_SC_SCSI, US_PR_BULK, NULL, US_FL_MODE_XLATE | US_FL_START_STOP),
Then recompile kernel. Should work fine.
If you just want to extract images from the camera without all the troubles
of recompiling linux kernel, it can be easily done with tools from cdrecord
package:
1. Check what is the device number of your camera:
$ cdrecord -scanbus
Cdrecord 2.01a05 (i686-pc-linux-gnu) Copyright (C) 1995-2002 Jörg
Schilling
Linux sg driver version: 3.1.24
Using libscg version 'schily-0.7'
scsibus0:
0,0,0 0) 'PIONEER ' 'DVD-ROM DVD-106 ' '1.22' Removable CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) 'USB ' 'Device ' '1.00' Removable Disk
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *
In this case the camera is at 1,0,0
2. Dump camera memory to a file
$ readcd -dev=1,0,0 -f=disk.out
Capacity: 32768 Blocks = 16384 kBytes = 16 MBytes = 16 prMB
Sectorsize: 512 Bytes
Copy from SCSI (1,0,0) disk to file 'disk.out'
end: 32768
addr: 32768 cnt: 512
Time total: 82.930sec
Read 16384.00 kB at 197.6 kB/sec.
3. Mount the file
$ /sbin/losetup -o 20992 /dev/loop0 disk.out
$ mount /dev/loop0 /mnt/camera
Cheers,
--
Piotr Pawłow
mailto:p...@siedziba.pl
Griz
> Piotr Paw? ow,
^^ if you use utf-8, why not declare that in the
Content-type header? ;)
> Thanks a bunch for those instructions. They worked perfectly!!
Glad to hear that :))
> I have one question. How did you figure that out to begin with? Are you
> self educated with linux? A computer science student?
Hmm, looks like 3 questions to me ;)
To put it short: using common sense + some experience; yes; no
> How did you figure that out? I gotta know? Did you read a book, visit a
> site, or a lot of both?
First I searched google. That is where I found your post. Then I looked into
driver's source code and found an URL to a web page with more information.
There I came across this page listing various problems with USB storage
devices:
http://www2.one-eyed-alien.net/~mdharm/linux-usb/target_offenses.txt
Looking at dmesg output I saw my camera failing on MODE_SENSE(6) command.
This command is used to get some device parameters - you do not need it if
you just want to read some data blocks from the device[1]. However, that
MODE_SENSE failure disrupted driver operation and it did not wanted to go
any further.
I had to know whether a simple block reading is working, before tweaking
with kernel driver and waiting for the whole thing to compile... So I used
readcd. This is a perfect tool for testing badly behaving usb storage
devices, because it sends only plain READ(10) commands directly to the
device, and does not do anything which could confuse the drive. That was a
success, so I looked in the usb-storage driver source again.
I quickly noticed that all bad devices are listed in the unusual_devs.h
file, so I inserted there an entry for my camera. I suspected that the
cause of MODE_SENSE failing is a general problem with understanding 6-byte
commands, so I set US_FL_MODE_XLATE flag[2]. I was right! It went a bit
further, failed on START_STOP and confused the device. I added
US_FL_START_STOP and recompiled.
That's all. It took me about 4-5 hours total. Plus one hour to write this
post, cause my english is really bad :P
[1] I know that, because a couple of years ago I wrote a CD player
application for Amiga. Programming ATAPI devices is not much different than
programming USB storage devices - it is the same SCSI command set, only the
transport layer is different.
[2] You may wonder what all these arguments to UNUSUAL_DEV macro means - you
just need to browse thru the sources, all the answers are there!