I see that this should be possible, but just connecting a USB-C cable between my PC and Verdin X3 connector does nothing. On the other hand the port does work as a host. I can put in a usb stick and it is mounted in Linux and I can copy data onto it.
I see it depends on the CC Pin. Should I change anything or the PC handles handles this by itself?
Furthermore we are designing a USB Micro interface on our custom board with the same idea and the same USB_1 port of the Verdin. Is there something that we have to watch out for? This is the schematics:
Which exact module are you using? Please share its full name and version.
Which TorizonCore version are you using? Please share the output of cat /etc/os-release.
Have you done any customization on your TorizonCore image (either using TorizonCore Builder or building it using Yocto)?
This is expected as the default user in TorizonCore is torizon and you are dealing with system-related files in /sys/kernel therefore you need to give permission to torizon user to perform the modifications.
About your specific issue, we need to research and do some tests. We will get back to you as soon as we have some news.
Only using TorizonCore to change the device tree overlay, I’m trying to aviod using Yocto (no experience). I just added my changes to the verdin-imx8mm_lt8912 overlay that was already applied. Pretty much just deactivating peripherals that I’m using form the M core and activating RPMSG. Here is the dto:
How do I change the permissions? I would suggest adding this information to the USB Device Mode (Linux) | Toradex Developer Center page since a lot of users probably use torizoncore with torizon user when trying this for the first time.
Sorry, I missunderstood, you meant adding sudo is expected, but my issue that the files keep their old values is a new issue.
Since you are looking into my specific issue, a bit more information:
My goal is to use the pins shown in my first post in this question, so USB 1 of the Verdin port for communication with the PC. The CDC ECM protocol looks like the best solution since it should be compatible with Windows, OSx and Linux as host computers. My priority right now is communicating with Windows though. Also the communication will be through a container later, but that shouldn’t pose any issues I hope, after I make it work from the torizoncore directly.
According to @jeremias.tx answer in that thread: One thing that is outdated is that there is no gadget-export or gadget-import command in the newer releases. However these commands are only to export/import an already existing schema. The commands the article had you do prior is what creates the schema. In this case you would only need export the schema if you want to transfer it to another system.
Hi @josep.tx ,
I saw that, but when I restart the device the configuration goes away. The next sentence in the tutorial states: “To make sure the g2 Gadget configuration gets loaded automatically, alter the systemd service located at /lib/systemd/system/usbg.service or name the schema g1.schema.”
So I’m not sure how to keep this gadget on the board if I dont have the schema.
Apart from that, the device is being recognized by windows but it says that no driver is installed and I can’t find any to install.
I found this thread USB OTG Ethernet not working that explains pretty much the same issue and I doesn’t seem to be solved. I can also try the RNDIS, maybe it’s just windows that doesn’t like the ecm protocol.
I managed to make RNDIS protocol work following this extensive topic:
As I said in the beginning - no experience with any of these protocols that’s why it was a bit chaotic. I guess a need a composite device with the ecm and rndis protocol together where rndis is used by windows hosts and ecm by linux/osx hosts, but I’ll concentrate on using the rndis with windows for now.
The question of saving the configuration still stays kinda open, in the mentioned topic the solution was to write a small script that runs on linux start, is that the only solution? If yes I will just close the topic