Portál AbcLinuxu, 9. června 2024 03:11

Olympus C-750 UZ

Ovladač: v jádře

Technické parametry

4Mpix, 10x optický zoom, xD Picture card formáty: JPEG, TIFF, QuickTime

Identifikace pod Linuxem

/dev/sda1

lsusb=> ID 07b4:0105 Olympus Optical Co., Ltd. Camedia C-700/C-3040 Zoom Camera

dmesg=> scsi0 : SCSI emulation for USB Mass Storage devices Vendor: OLYMPUS Model: C750UZ Rev: 1.00 Type: Direct-Access ANSI SCSI revision: 02

Postup zprovoznění pod Linuxem

Postup zpravozneni fotaku olympus C740uz, c745uz a provdepodobne cela rada c700 funguje jako usbdisk

Je třeba zavést zejména moduly: Pak namontovat zařízení /dev/sdXX (poradí dmesg) se souborovým systémem VFAT.

Olympus chybně implementuje třídu USB Mass Storage. Od jádra 2.4.22 i v řadě 2.6.x je kód, který to obchází. Pro 2.4.21 (ale asi i starší) jsem si tento kód zpětně vložil, zde je výsledný patch:
*** linux-2.4.21-orig/drivers/usb/storage/transport.h   Fri Nov 29 00:53:15 2002
--- linux-2.4.21-olympus/drivers/usb/storage/transport.h        Tue Aug 12 01:18:26 2003
***************
*** 106,111 ****
--- 106,113 ----
  
  #define US_BULK_CS_WRAP_LEN   13
  #define US_BULK_CS_SIGN               0x53425355      /* spells out 'USBS' */
+ /* This is for Olympus Camedia digital cameras */
+ #define US_BULK_CS_OLYMPUS_SIGN         0x55425355      /* spells out 'USBU' */
  #define US_BULK_STAT_OK               0
  #define US_BULK_STAT_FAIL     1
  #define US_BULK_STAT_PHASE    2
*** linux-2.4.21-orig/drivers/usb/storage/transport.c   Fri Jun 13 16:51:37 2003
--- linux-2.4.21-olympus/drivers/usb/storage/transport.c        Tue Aug 12 01:18:21 2003
***************
*** 1250,1258 ****
        US_DEBUGP("Bulk status Sig 0x%x T 0x%x R %d Stat 0x%x\n",
                  le32_to_cpu(bcs->Signature), bcs->Tag, 
                  bcs->Residue, bcs->Status);
!       if (bcs->Signature != cpu_to_le32(US_BULK_CS_SIGN) || 
!           bcs->Tag != bcb->Tag || 
!           bcs->Status > US_BULK_STAT_PHASE || partial != 13) {
                US_DEBUGP("Bulk logical error\n");
                ret = USB_STOR_TRANSPORT_ERROR;
                goto out;
--- 1250,1259 ----
        US_DEBUGP("Bulk status Sig 0x%x T 0x%x R %d Stat 0x%x\n",
                  le32_to_cpu(bcs->Signature), bcs->Tag, 
                  bcs->Residue, bcs->Status);
!       if ((bcs->Signature != cpu_to_le32(US_BULK_CS_SIGN) &&
!           bcs->Signature != cpu_to_le32(US_BULK_CS_OLYMPUS_SIGN)) || 
!                   bcs->Tag != bcb->Tag || 
!                   bcs->Status > US_BULK_STAT_PHASE || partial != 13) {
                US_DEBUGP("Bulk logical error\n");
                ret = USB_STOR_TRANSPORT_ERROR;
                goto out;

Poznámka

Za c745 rucim, ostatni ne. ;-)

Pokud si foťák budete chtít pořídit, tak k ceně rovnou připočítejte tak 4kKč na 256MB kartu, protože bez ní to nemá cenu.

Dokument vytvořil: JirkaSn, 26.1.2004 22:01 | Poslední úprava: Redakce, 27.2.2011 15:09 | Další přispěvatelé: Ondřej Kubečka | Historie změn | Zobrazeno: 1014×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.