Connecting a USB camera to Jetson nano with Sony A6000

Hi there,
I have attached Sony A6000 to Jetson nano and I want to do image processing with it, but jetson nano does not see the camera.

As seen in the picture above, the driver is not visible, where can I download and install the Sony a6000 driver to see it?

Thank you.

You can firstly contact with the vendor for help… it is unlikely for us to know where to find any specific driver all over the world…

To aid in finding your driver (if it needs one), monitor “dmesg --follow” for logs. Then insert the USB, and report what the USB logs did during insert.

I don’t know what the particular vendor and device IDs are, but pretend it says the ID is “1d6b:0002” (either found from the dmesg or from “lsusb”). One would get the most verbose output from (but use your actual ID):
sudo lsusb -d '1d6b:0002' -vvv

I did what you said and something like this came out, what should I do from here?

lsusb -d 054c:094e -vvv
This is the command you need. The one you used is serial number, not vendor & product ID

I did this, what should I do after that, the driver still does not appear?
Thanks.

It will not appear, it just printout some detail of the device then people will have more info to help :).

I got an output like this, how can I install the driver after that. Sorry, I’m a bit new to this field :)

Bus 001 Device 008: ID 054c:094e Sony Corp.
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x054c Sony Corp.
idProduct 0x094e
bcdDevice 2.00
iManufacturer 1 Sony
iProduct 2 ILCE-6000
iSerial 3 C9DCE0712D4D
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 6 Imaging
bInterfaceSubClass 1 Still Image Capture
bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470)
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 7
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered

Yes, the above was just for knowledge as @nvl1109 mentions. For reference, any time you use “lsusb” and want to look at just this device, use “lsusb -d 054c:094e” (there can be other options, for example, fully verbose using sudo, “sudo lsusb -d 054c:094e -vvv”). Note that when you paste logs or code into the forum you preserve formatting if you mark it as “code”. Either highlight your content and click on the code icon (looks like “</>”), or else add a blank line above and below the log, then type in three back quotes (next to the number bar “1” key, shift has tilde). That line above and below the log would have:
```
(I escaped that so it will show properly in the forums)


On to the actual device, the USB has done its job and is working correctly. It detected what was there, communicated with it, and announced what was present. At that point no driver took over (this would be because no driver knows how to handle this device…a new driver has to be added, but it isn’t what you would truly call a “USB” driver…it is just a camera driver the USB would pipe to/from).

The logs would have shown which driver loaded if that were loaded, but if you go into the verbose lsusb (looks like you might have missed using “sudo”, and thus the logs might be shortened since you need root authority to see all of the USB details, but please mention if the verbose lsusb used sudo) you will find “bInterfaceClass”. Or other mentions of device class or driver requirements. None of those showed any of the “universal” (generic) interface classes (e.g., USB Video Class is a generic camera class and the same driver is used by many cameras). I do see this:

bInterfaceClass 6 Imaging
bInterfaceSubClass 1 Still Image Capture
bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470)

The above suggests the camera must have a non-generic driver. There could be one provided simply by adding a kernel module, but if the camera is not part of the kernel source, then you’d need to get it from the vendor. If the vendor makes it available only binary format, then it would need to support arm64/aarch64 architecture. If the vendor provides this as source code, then you’d compile against the current kernel’s configuration. Regardless, your Jetson does see the camera, but the camera does not list because there is no driver.

I looked up some information on the camera, and found this URL:
https://www.sony.com/electronics/support/e-mount-body-ilce-6000-series/ilce-6000/downloads

I see MAC and Windows firmware, but nothing for Linux. Quite possibly the firmware is not needed. If firmware is needed, then it might either be flashed directly to the camera (in which case the firmware would “just work” on any computer it runs from), or it might load at run time (in which case you’d need the firmware on any computer you use with the camera, but an old firmware might still be in place and it might not be fatal even in the latter case to not have the firmware).

What I don’t see is a driver download under Linux. So I saw this URL:
https://us.community.sony.com/s/question/0D50B00004ILDdASAX/linux-support-for-a6000?language=en_US

There is mention of other URLs there which might help with getting this working in Linux. I don’t know anything about those other projects, but they are worth examining.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.