 For now, it's USB and drivers for the PC Mostly we are taking care about the windows solution with the linux. We don't have such experience regularly. We are not working with linux But most of the time the solutions are even working better with linux so On the Microsoft there are so-called Cannot drivers which you can recognize by the dotsys and To create and develop and maintain such driver. It's a really hard to work. You need to have access to the windows Windows developers file and Reload of experience so This is something we never tried We are so that's the reason why we intend to use the standard class which already have these drivers from the windows So if you expected here that we will tell you anything about creation of this kind of driver Unfortunately, not we only know it's a very extensive for job you also need to test on multiple platform verify this test and It's a hard work. So for this purpose. We all the time use only the Standard classes which already have these driver inside of the system. So for example the virtual comport of Also this chapter is here mainly to the virtual comport because it's the CDC Which needs the driver and mainly the signature for the driver and the information file for the driver for for other other classes, we don't need to solve any issues in this way because they are enumerated and Enumerated automatically and Connected automatically to the system. So only the VCP which is using so-called USB ser.sys Now in the win from Windows XP till Windows 8 in Windows 10, it's already different We need to solve this situation for the master age and HID There is no need to handle the drivers with the HID there is the drawback that you need to be aware about the Descript report so the mix of the strange numbers Which is quite hard to study So that's are the drivers then very Interested options are the win USB or the lip USB the win USB as the names Can give you the clue is the set of the possible drivers for the windows So it's not part for independent but at the end you again need the signature for this kind of driver if you intend to use it and It's useful if you want to Somehow improve or change the overall functionality So if the virtual comport interface is not The convenient for you. You can change it change the use endpoint change the send data and Then use some of the drivers. So for example the win USB or the lip USB To do this driver connect to the application and inside of the application handle according to your needs But the message is still the same you you need to Sign the driver son the sign the driver for both of them With linux. We have the experience only with the lip USB I tried once to create the same for Windows and for the linux using the lip USB. I was able to Work on both platform This is one of the hands-ons. We are not able to fit into our schedule. So you have it on your plastics Also with the terminal you are free to use later on So now we are using the CIS drivers, but for the virtual comport this driver Demands to be connected With your device and the system so for this purpose there are so-called information in file So informative file which are describing the device so product ID vendor ID use interface and some other information and Eddie also the string information and at the end to this information file is Pointing to the driver which will be used We are here discussing the VCP problem so at the end it's Showing it's pointing to USB sir that says the Colonel driver, which is already inside of the windows operating system So using this file You are able to more or less assign the driver to your device But the windows demands to have the signature of the driver. So So the user then can be sure that the functionality is verified and it should not harm his computer So even if you don't sign the driver You are able to use The virtual comport with different product ID vendor ID and without a signature But it's possible only on the windows 7 on the windows 8 It's possible only if you change the setting inside of the Of the bios or the bootloader so for Development purpose this is possible But at the end you cannot release it without a signature because it doesn't look good And I cannot imagine that anyone would like to use unknown driver from unknown vendor and It's not a standard option So for this purpose you need also creates a so-called cat file Which is holding the information about the kernel driver and The important thing is the signature so the system driver itself so the kernel driver and quite the usual feature of this is the Installation file. So the exit file which will install this drivers with the information to the PC you are you were able to see it for example when you were installing the Stealing utility so the driver to a stealing then it's there for the DFU and The same is true if you are installing only the stand on driver for virtual comport or in general any any any any other kind of drivers So the Signature is needed. That's also the reason one why I show you before The custom HID So there are some limitation, but you don't need to take care about the driver and about the signature for the driver so VCP most used interface for data communication between the USB host and device in the embedded environment The reason is the simplicity that all I believe almost every programming like which have already the interface for the virtual comport and there is lot of terminal application So it's still used So from it's was Windows 9.10 Till Windows 10 there was the USB ser.cs So the driver where you need to get the signature, but inside of the Windows 10 you don't need any Driver signature anymore only condition you need to fulfill is the correct device descriptor So the class and subclass need to have the correct shape This change is implemented inside QPMX and QPMX repository Two years or something like that. So For the for the new project or TV years, so which is quite a long time It's enumerated and working in Windows 10 without any problem But Windows 7 and the older system Still take a great part of the market share So you also need to handle the driver for older system So one possibility is to use some other driver already signed by some other parties So as you can see all our examples with the virtual comport have the same product ID vendor ID We have the info in file or it also signed So this is used in our application A lot of times we get the request can we use as the product ID vendor ID for virtual comport inside our application? Are we violating something? So the answer is yes, you can use it But we cannot give you any official Document any official letter that you are aware about we can promise you for sure that nobody will chase you for this What is the drawback? That if you use the ST signed in file there are the ST string So it's a ST micro micro micro electronics virtual comport and you are not able to change it Inside of your application inside of the descriptor There is the string Where you can write whatever you want But in in the windows is displayed the string from the in file Where is ST micro electronics and if you change it you the signature is not valid anymore So you can use it, but every time you use it you will see ST micro electronics So if you want to use with your own string you need to obtain your own product and vendor ID combination and Sign the driver So disadvantages of the virtual comport, I think we already mentioned few times. So it's no There's the lack of native plug-and-play support additional endpoint which you may then miss if you are creating some composite device and The driver so what we are so then you choose to Create your own device. You don't like to see the ST credentials So you get your product vendor ID I will talk about it a bit later on and now you need to get the signature for your driver so We try in our team. So my boss surpassed the signature process It took him like one month. So it's quite a harder job And I will talk about this bit later so There are two kinds of the Signature you can get so the first one is code signing certificate and the second one is with the extended validity The difference between it and this two is the price. So the first one is cheaper and You don't need to fulfill so many conditions. So it's easier to get The diff but what you cannot do with this code sign signing certificate is to drive the Kernel mode drivers So if we create and we don't want to create any kernel driver, we cannot sign so with this we can Sign the software for the windows But our purpose is to sign the infile for the windows which we tried and succeed. So no red windows anymore What we are not yet sure is the expression now we have it for one year So we will see what happens then but we expect that it will be easily Transform it if we pay and that's not so huge problem. I think at the end the total cost was 100 dollars per one year So the extended validity you can also sign some more things, but We don't need it and the timestamps Not so crucial for us right now. So we tried and succeeded to get the Code signing certificate There are some links where to look so the list of the signature authorities so Which company can help you which company can provide you the signature? So you can contact them At the end we choose the Digi cert I think the reason is quite obvious. It was the cheapest so with the Digi cert we get the signature for one for one year and How was the procedure so first He needs to get the letter And sign it and the sign of the letter need to be verified So my boss entered a notary in Czech Republic. He verified the signature But the Digi cert is in the US and also the other signing Companies very in US and they need the official translation of the of the verification of the signature so he needs to go to the some ministeries ministry of the interior for official translation of the signature and There is only one place Fortunately, it's in Prague. So the same place we are also located to get it But it's bureaucracy the opening hour are not intended for regular people so if you are in Italy and If you will be able to get some Italian company, it can be great advantage if you get the company from us You will need to get through the same procedure. So You will get the official letter. You need to sign it You need to get the verification from the notary on your sign and official translation after that there was a Skype call with the with the Digi cert and we obtained the keys so we need to get the secure storage for the private key and Distribute the public key and in total It takes one month, but if we would be pushing harder it could be in one week and Now a lot of people is asking so they are quite loaded So hard to say what is their response time now, but these experience is limited on one attempt with one company, but Before we had no experience. So at least now we have something we can share and Hopefully it will be somehow usable for you so now we have here some quick guidance if you obtain your signature and Get some modify in file how to sign. So again, there is a link here and I'm thinking if you will be able to get it outside of the PDF That's a good note and After that You need to install and go through the virus Setting from windows. There is a complete package provided by the windows. So the windows driver kit and using this kit and Following the read me and so on some try fails during Three hours we were able to sign our in file So here are also Some examples how we made it also for values Platform so for values type of window So probably not so interested now, but for later on it can be interested guidance so at the end We get a driver which can be Published and use without any problem in the in the signature You will see it will see such as a name. So that's The one who did it now? another Interested topic is the product ID vendor ID if you create some new device The device should have unique combination of these two numbers, but theoretically For each type of device this should be unique, but you cannot just made it up because afterwards it could lead to the Confusion with the drivers so these Combinations are checked by the USB organization. So you have to obtain first your combination Before you are able to use it. I believe it's also connected to the signature afterward, but Not sure about it right now So first option is to opt-in your own vendor ID Which give you the full full address range of 16 bit for the products and you can do whatever you want with this range but this the membership cost four thousand us dollars per year and It's additional five thousand dollars when you enter the organization You get some additional advantages like you can go for the conference But who cares if you want to product just one hundred pieces So for this we are offering that we will assign you some product ID out of ST vendor ID range, so up on a request Either you can contact your local FAE Or you can contact directly us on the support We will ask you for some more information. We are putting into the tables So at the end you get first the Morris official may from ST that this product ID is assigned to your name your product And You are free to use with some other condition. I will talk about it and once per quarter These requests are taken and sent to the USB organization. So it's propagated to their database so We are Giving up these num these product IDs for free So whoever write us I would like to get once or two So some reasonable number not I need a 1000 product IDs we will generate for him So for to support the developers with the ST What are the drawback? As you are not the vendor You are not allowed to use the USB Mark on the device But the connector is explaining everything so if you take a look on your mouse Sorry on your plastic there is no USB mark on the PC you are able to see it But for example with the plastic I haven't met yet the plastic with the USB mark. It's clear enough that it's USB device so That's only the drawback and the second is the optical that your vendor ID is the ST one But the savings can be Really significant Okay, so this is how it's go. We are Filling this formula so the details about the company name name of the responsible people that's we are Fitting there and at the end of the quarter we are you get the official letter from or the official mail from a USB organization You