True Plug-n-Play ================= Plug-n-Play 2: (or True Plug-n-Play) Concept: Driver must reside inside the hardware on ROM chip. Here in my article, I'm going to describe a new concept that is going to replace today's plug-n-play efforts; also called "plug-n-pray" sometimes, when things don't work as expected. The problem: ============ Today, to get an Operating System to support all the newest hardware millions of dollars are spent, but the situation was totally different a decade ago. Let me explain: In early 1990's all the hardware was supported throught standard IBM compatible BIOS commands, so a new Operating System (DOS) needed to support only a few (hundreds) BIOS commands, and a CPU instructions. That was because all the PC's "stone-age" were standartized this way; ranging from PC speakers, to memory, to CPU, to hard disk calls, to keyboard, and to video BIOS commands. None of that requires drivers as of today; which is good, but we are now in a "more advanced age" and we have new devices, like: Multi-media keyboards, wireless 8-button USB mouses, USB cameras, advanced AGP 3D video-accelerators, soft-modems, surround sound cards, and... even virtual reality suits. All of that required ports, memory addresses, IRQs, and other resources, and the Plug-n-play concept was developed. The plug-n-play concept solved the incompatibilities, by automatically assigning the right resources (IRQ for example) to non standratized equipment of the "stone-age" like the sound card. (I mean, there are no BIOS standards to get access to the sound hardware, unlike video) Today's Plug-n-Play standard allows you to recognize a device after insertion, but it's NOT guarnteed that it will work on your OS. But the drivers are still a problem, it's an achilles heel of today's PCs architecture, which must be addressed by the True Plug-n-Play concept. Today Microsoft guys have invested hundreds millions of dollars to make sure that this stuff works by creating a huge driver set and integrating this set in Windows OS, which grows the OS huge, but still it works far from good, and does not guarntee that anything will work. Example of Plug-n-Play today ============================ Windows XP partially solves this problem with two ways: 1) It has powerful Hardware Emulation Layer. (which allows for unknown video cards to work in high-resolution for example; which is very good XP feature) 2) It has a lot of drivers included. (Integrated in XP) Because of this, WindowsXP supports many devices "out-of-the-box", but that support bad. For example: You have nVidia GeForce 3. With PnP, WinXP will detect it, and because of it's extremely large driver set, it will find the appropriate driver and use it right? - Yes. But Microsoft's driver for GeForce3 totally lacks OpenGL acceleration, as well as all proprietary features seen in an nVidia driver. With "True plug-n-play", the OS, should get the right driver right from the ROM. Of course it won't be the newest, unlike from www.nvidia.com, but it will be WAY better than Microsoft's XP integrated driver. Also it's guaranteed to work on all OSes. Of course the DirectX portion of the driver won't work on Linux... but that's another story. Optionally, it should be multilingual. But there are rare hardware that works only in Win98 and not in WinXP, and not in Linux, and I want to solve the problem from happeing in the future. Also, I'm a lazy person, and some people even call me as a Microsoftism follower for that, and I would like to install ONLY the OS, no drivers CDs afterwards. The Solution ============== Concept: Driver must reside inside the hardware on ROM chip. As the concept points out, There must be an abstract driver to reside in EVERY piece of hardware, in all PCI and PCI-Express cards, and in all USB devices (cameras, mice,..) as well on a chip called "driver ROM". After you install a new device, or a new OS for that matter, that "driver ROM" chip should be automatically detected, and the cross-platform driver will be downloaded for that particular device. The "driver ROM" chip should contain the abstract, cross-platform driver, that should work under both 32/64-bit BSD/Linux/Windows future operating systems. Of course in order to make this cross-platform combo possible a special API has to be developed, but with a user's demand everything is possible... To make such a switch it will require new hardware and Operating Systems generation, and the hardware is going to cost a few bugs more because of the software, but it will be a pure win for users, who will forget what a hardware driver problem is, like we forgotten how terrible it was to configure a sound-card in DOS on a per-game basis. "True plug-n-play" concept will revolution the PC driver architecture. We must agree on some kind of cross-platform Open standard That "driver ROM" must contain an abstract driver Device will run on Linux, Windows, whatever OS after just being plugged-in... On older operating systems (like older Linuxes, or Windowses), such new hardware will work throught drivers installed from a CD. (like today) It order for this standard to succeed I need the main industry players to accept it, or more specifically I need: 1. -Microsoft 2. -Intel 3. -nVidia 4. -ATI 5. -Red Hat 6. -HP 7. -VIA 8. -SiS 9. -IBM 10.-Realtek Since I see this as a concept for future standard, I call for all the "opponents" to participate. ======================================================= Bottom Line benefits: For hardware vendors it will be easier to sell hardware, for Microsoft and RedHat it will be easier to setup and use their operating systems. Also for Microsoft, it will render their project of driver integration into XP useless, saving to them hundreds of millions of dollars. And the biggest benefit is for us, the lazy users ! >From now on, we won't need to lurk on the internet and look for drivers for my new OS. Idea made by Alexey Eremenko on 12.2.2004. Rewritten by Alexey Eremenko on 18.5.2004. About me: My name is Alexey Eremenko, from Netanya, Israel, 19 years old, have successfully passed a Cisco Certified Network Associate exams, and I have 1 year of experiece inside Cisco Systems, and 10 years of experience on PCs, I like Open Source Software and WindowsXP at the same time, and I would like to contribute a few ideas from my brain at a good will. Alexey Eremenko Aka Fenix*NBK* - fenix@xxxxxxxxxxxxx -or- telephone: 972-09- 8329765 ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/