3 ms·
For one of my previous employers, I was in charge of getting drivers for some of our custom in-house hardware working on Windows 7. This hardware was never sold
by ufmace 10y ago
For one of my previous employers, I was in charge of getting drivers for some of our custom in-house hardware working on Windows 7. This hardware was never sold on any open market, only used by company employees on company-imaged systems. We didn't want to bother with sending the hardware off for the standard consumer-level certification, so I was able to get a code signing certificate from a third-party vendor and use a cross-signing certificate to get a driver that would work.
I tried to check out this dashboard that they're talking about, but it doesn't look like I can get it without being associated with a registered company. I am wondering how hard it would be under the new policy to do something like this again - what's the cheapest and simplest way to get a driver that will work with a fully secure Windows 10 install? Including if the hardware associated will never be sold to the general public?
It's probably moot in the particular case I dealt with, at least. I doubt the company in question will be upgrading to 10 anytime soon, plus the hardware in question was being slowly phased out. It used Firewire - the guy who chose that told me that it seemed like a good idea at the time - and I had already done the testing for the replacement device which used TCP/IP over Ethernet instead.
But I still wonder if it's getting gradually harder to do anything with any kind of custom hardware without already being part of a multi-billion dollar company that's willing to invest millions of dollars in getting hardware and drivers properly certified.
- paploopi 10y agoYet another reason to use Linux/BSD. Literally anything but Windows.
- ksk 10y ago>Literally anything but Windows. While in the case of general software that would be true, its not really useful to do that in the case of drivers because someone has to maintain the source code across kernel ABI/API changes. Its just easier on Windows.
- WorldMaker 10y agoIt's an interesting question. I think a lot of it is that these days custom hardware can talk a well known protocol or three and use standard drivers more easily than ever before. There are lots of options among the various standard USB profiles (pretend to be a flash drive or at worst a keyboard), Bluetooth profiles, and beyond that the general ubiquity of TCP/IP over just about anything from USB/Bluetooth/Ethernet/WiFi/Carrier-Pigeon/... Look at the maker movement and you see just about even the cheapest PCB boards these days (*duino and the like) has an Ethernet port and probably even WiFi or at least Bluetooth LTE. A Raspberry Pi is a few dozen dollars and has WiFi. It's easy to mock a lot of the "Internet of Things" enthusiasm, but the real benefit is that custom hardware these days isn't so much about low level kernel hacking to build drivers but is almost all "user space" work like REST services over IPv6. It's an interesting new world and probably an improvement on the days of bit-twiddling serial buses slightly different for every bit of custom hardware ever connected to a computer. (...and even that today you can still do with USB standard serial device profiles and writing an event-driven app in user space rather than build your own interrupt-driven driver.)
- IshKebab 10y agoIf you control the hardware you can always use WinUSB. No drivers required.
- xg15 10y agoProbably yes - though pragmatically, you could also check if you actually needed a kernel-mode driver for your hardware to work - especially if it's in-house only and a slightly more complicated deployment process is acceptable. Some possibilities would be: - If you can modify the hardware, equip it with an ethernet/wifi/bluetooth module and talk to it via IP. - if you need kernel-mode access, you could develop a linux driver instead, run it in a VM (or a raspi) and communicate with the windows PC using IP. (Admittedly, that's a bit rube goldberg-ish) - Communicate using the good old serial interface instead and use a user-mode program/library on windows.