Driver/libreria per Canon 5D e 350D/Rebel XT su Windows 7/8/8.1/10 64bit

Ultimo aggiornamento: 5 Gennaio 2021

Ho usato la libreria originale Canon (ed in particolare il software “Canon Utilities”) sul mio vecchio portatile Acer con Windows XP per quasi 10 anni senza assolutamente alcun problema. Ma un paio di anni fa sono passato ad un PC più moderno, con Windows 7. E nel frattempo ho comprato una seconda Canon 350D.

E mi sono messo a cercare un modo di utilizzare contemporaneamente entrambe le camere sul nuovo PC.

Non avendo trovato nulla ho deciso di mettermi io a scrivere qualcosa e, dopo un (bel) po’ di lavoro, ho creato questa libreria.

Dal momento che il tipo di fotografia che faccio normalmente è l’astrofotografia di profondo cielo, questa libreria è stata progettata e testata principalmente per questo tipo di utilizzo. Anche se la libreria permette l’utilizzo della camera in altri modi, questi non sono testati altrettanto approfonditamente come le modalità manuali.

Pacchetti software

Ho rilasciato due diversi pacchetti software:

Il primo (che può venire downloadato qui), è per chi vuole semplicemente utilizzare una o più Canon 350D o 5D da un PC con Windows 7/8/8.1/10. Questo download contiene solamente in driver WinUSB (con il relativo file .inf) e il mio clone del software Canon Utilties (chiamato ABUtilities2). Non è richiesta nessuna installazione per il software ABUtilities2, anche se può richiedere l’installazione del Framework .NET 4.5 che si può downloadare da qui nel caso non fosse già installato nel PC (poco probabile). Per l’installazione del driver, vedere sotto.

Il secondo (scaricabile qui) è per gli sviluppatore che vogliono utilizzare la Canon 350D o la 5D in una loro applicazione con Windows 7/8/8.1/10. Questo pacchetto contiene la DLL con il relativo header C, la import library, la documentazione della API (in PDF), un esempio a riga di comando per utilizzare la DLL (ABUTestDLL, con i relativi sorgenti C compilati con Open Watcom) e i sorgenti VB.NET (2013) della mia versione del software Canon Utilites.

ABUtilties2

ABUtilities2 è il mio clone del programma “Canon Utilities” che ho ricevuto sul CD della mia Canon 350D nel 2005. Solo alcune funzionalità di base sono supportate: scatto remoto, tempo di posa, diaframmi, ISO, bilanciamento del bianco e poche altre cose. Solo le foto scattate con la camera (sia con lo scatto remoto che premendo il bottone di scatto della fotocamera) verranno scaricate. Non è possibile scaricare le foto presenti sulla Compact Flash. Non sono implementate neanche le impostazioni di “WB Shift”, la compensazione dell’esposizione, la possibilità di cambiare la data/ora della fotocamera o il nome del proprietario, la rotazione delle immagini o il timer di scatto, tutte funzioni disponibile nel software originale Canon ma non nel mio clone. Le immagini scattate possono venire scaricate in una directory a scelta e opzionalmente visualizzate (in modo automatico) con il programma associato ai file di estensione “JPG” e “CR2” (vedere “Destination folder” nel menù “File”).
ABUtilities2 rimpiazza ABUtilities che veniva distribuito con le precedenti versioni della libreria. ABUtilities2 ora ha il timer di scatto ma perde la compatibilità con Windows XP dal momento che richiede il NET runtime 4.5. E’ comunque possibile continuare ad usare ABUtilities copiandolo da una vecchia versione della libreria.

Se c’è più di una camera collegata al PC verrà visualizzata una finestra di selezione prima di visualizzare la finestra principale del programma (visualizzata qui a fianco). E’ anche possibile forzare il programma a collegarsi ad una camera specifica, utilizzando il comando “/sn=NumeroSeriale” sulla riga di comando (il numero seriale lo trovate stampato sotto la camera stessa).

Qui a fianco, uno screen shot del programma ABUtilities2. E’ possibile cliccare sulle varie icone per poter cambiare le impostazioni di scatto, esattamente come nel programma Canon originale. Le impostazioni grigiate non sono modificabili.

Tenete presente che ho sviluppato questo programma semplicemente per testare la libreria e fornire un punto di partenza per gli sviluppatori che vogliono utilizzare la mia libreria da un linguaggio moderno. Non lo considero un software “completo” (anche se è perfettamente utilizzabile).

 

Donate

Se trovate questo driver utile e volete mostrare di apprezzare il lavoro che ho fatto, potete aiutarmi con una piccola donazione tramite PayPal.

Donate

Installazione dei driver

  1. Collegate la camera al PC. Windows inizierà a cercare i driver su Windows Update ma non troverà nessun driver utilizzabile.
  2. Aprite la “Gestione dispositivi” (nel pannello di controllo cliccate “Sistema e sicurezza”, lo troverete successivamente sotto “Sistema”). Vedrete la camera in “Altri dispositivi” con un punto esclamativo.
  3. Fate click con il pulsante destro su “Canon Digital Camera” e scegliete “Aggiornamento software driver…”
  4. Selezionate “Cerca il software del driver nel computer”
  5. Selezionate la cartella “Driver” dal file che avete scaricato o da qualche altra directory di vostra scelta (io qui avevo copiato tutto sul desktop, per cui ho scelto quella cartella).
  6. Dal momento che il mio pacchetto di installazione non possiede una firma digitale, Windows visualizzerà un avvertimento. Continuate l’installazione scegliendo “Installa il software del driver”. (Il driver che viene installato è il driver generico USB di Microsoft, WinUSB e quindi i file binari sono stati firmati digitalmente da Microsoft).
  7. A questo punto troverete la camera installata come “Canon 350D WinUSB Driver” sotto “Dispositivi di acquisizione immagini”. L’installazione del driver è ora completata.Inst6

L’installazione in Windows 8/8.1 e Windows 10 è sostanzialmente identica a quella in Windows 7 descritta qui sopra, ad eccezione del fatto che l’installazione di pacchetti driver non firmati digitalmente non è normalmente ammessa. Di conseguenza, raggiunto lo step 6, non ci sarà l’opzione di continuare con l’installazione di un pacchetto non firmato e l’installazione stessa verrà interrotta (“A digitally signed driver is required“).

Per disattivare questa verifica della firma digitale potete seguire uno di questi tutorial:

Oppure fare una ricerca su Google di “Disattivare firma digitale”, tenendo presente che non è necessario la disattivazione permanente di questa opzione. La disattivazione serve soltanto per questa installazione.

Una volta disattivata questa verifica, potete installare il driver seguendo la procedura come se aveste Windows 7.

 

Versioni della libreria

  • v1.00: Versione iniziale
  • v1.01: Aggiunta gestione notifica cambiamenti nelle impostazioni delle Custom Functions. Aggiunta la funzione ABCanonGetCustomOption().
  • v1.02: Aggiunta l’opzione ABC_OPTIONS_HANDLE_THREAD_BUSY option, fixato crash nel caso non venisse mai chiamata nè la funzione ABCanonSetSaveFilenameW() nè la funzione ABCanonSetSaveFilenameA(), cambiato il valore di ritorno per gli eventi ABC_EVENT_JPG_READY and ABC_EVENT_CR2_READY.
  • v2.00: Aggiunto il supporto per la Canon 5D e le funzioni ABCanonGetCameraType() e ABCanonGetCustomFunction().
  • v2.01:(19 Marzo 2017) Rimossa dipendenza diretta da WINUSB.DLL in modo da poter utilizzare implicitamente questa libreria in programmi che possano lavorare anche senza che WINUSB.DLL sia installata nel sistema.
  • v2.02: (17 Febbraio 2020) Corretto un problema che avrebbe potuto portare ad un uso eccessivo di CPU, aggiunta la funzione ABCanonGetPQImageCount(), aggiunto una nuova modalità di download e corretto un problema che causava un malfunzionamento del software con Windows 10. Il problema con Windows 10 non era legato al driver USB, per cui non è necessario reinstallarlo. E’ sufficiente aggiornare l’applicativo e la DLL (ABCANON7.DLL).
  • v2.03: (5 Gennaio 2021) Ho aggiunto un paio di eventi (ABC_EVENT_BUSY – con la possibilità di pollare la camera quando occupata, ABC_EVENT_ALL_DONE), ho aggiunto ulteriori informazioni all’evento ABC_EVENT_DOWNLOADING e ho spostato la notifica di alcuni eventi in una thread separata per evitare deadlocks. Il programma di esempio ABUtilities è stato sostituito da ABUtilites2 perdendo la compatibilità con Windows XP ma guadagnando il timer di scatto.

Il futuro

Dopo aver implementato il supporto sia per la 5D che per la 350D, rimangono da supportare con il vecchio processore Digic2 le Canon 20D, 30D e 400D. In futuro potrei lavorarci su.

Appunti finali

Questo software gratuito può venire liberamente usato e distribuito ma non modificato senza il permesso dell’autore.
Questo software viene fornito senza nessuna garanzia.

Sebbene io mi sia impegnato a cercare e correggere tutti i bug di questi programmi, il loro utilizzo è a vostra discrezione e accettate di non ritenermi responsabile per nessun danno o perdita di dati al vostro computer o alla vostra camera che possa derivare dall’utilizzo di questo software.

Infine, vorrei ringraziare Emmanuele Sordini (http://www.bloomingstars.com) per avermi prestato la sua Canon 5D.

Downloads

7 commenti

Vai al modulo dei commenti

    • Federico Maetzke il ottobre 26, 2018 alle 15:31
    • Rispondi

    Salve e grazie per il lavoro svolto e condiviso! Il mio pc win 7/32bit ora vede la macchina e ab utilities funziona senza problemi, ma vorrei usare la canon con APT o maxim dl che invece non vedono la macchina. Il driver è compatibile o funziona solo con AB utilities? ancora, i dirvers per sviluppatori potrebbero funzionare, fermo restando che sono solo un utilizzatore e non in grado di sviluppare sofware… grazie ancora
    Federico

    1. Il driver funziona solo con le AB Utilties e con gli eventuali software scritti per utilizzarli, dal momento che sono differenti (come API) da quelli Canon. I programmi possono essere aggiornati per utilizzarli e credo che i rispettivi autori potrebbero farlo, se vedessero gente interessata. Per quanto riguarda il pacchetto per sviluppatori: i driver contenuti sono gli stessi, solo c’è in più la documentazione ed alcuni software di esempio su come usarli.
      Saluti
      Angelo

    • federico il ottobre 26, 2018 alle 16:03
    • Rispondi

    ok grazie!

    • Andrea il aprile 18, 2020 alle 15:57
    • Rispondi

    Grazie a questi driver posso collegare tranquillamente la mia vecchia 350D ad un computer con Windows 10 a 64bit. Però mi chiedevo se fosse possibile accedere alla Live View come funziona per il software canon. Ho scaricato la dev release e stavo dando un’occhio al codice nel tentativo di capire se c’è modo di accedere alla live view della camera e mostrarla in una finestra aggiuntiva sul pc.

    1. La 350D (come tutte le camere basate sul Digic2) non ha il LiveView, per cui non è proprio possibile fare una cosa del genere. Non è stata una mia scelta di non implementarlo nella mia libreria.

        • Andrea il aprile 18, 2020 alle 19:26
        • Rispondi

        Ah capisco, che peccato, grazie mille.

    • andmind il maggio 16, 2020 alle 19:25
    • Rispondi

    Inanzitutto ci tengo a ringraziarti dal profondo del cuore perché grazie a te ho potuto riesumare la mia vecchia 350D potendola utilizzare anche col PC. Detto questo, visto che mi sto dilettando con i timelapse sarebbe veramente figo se riuscissi a trovare del tempo per implementare nel tuo software la possibilità di impostare un timer di scatto. Giuro che ho provato a cavarmela da me ma non essendo assolutamente esperto di programmazione in nessun linguaggio temo vada oltre le mie capacità.
    Ho anche visto che in rete si trova un firmware modificato per questa vecchia reflex che aggiunge l’autoscatto programmabile per i timelapse e aumenta la ISO fino a 3200 ma ho paura di romperla quindi preferirei evitare.

Leave a Reply to Federico Maetzke Cancel reply

Il tuo indirizzo email non sarà pubblicato.