Plop Boot Manager News
This is a small online documentation with news and some background infos about the work.Manual - Download the Boot Manager
Plop Boot Manager 5.0.15-test updates
PCMCIA plpbt.bin: Disabling of PCMCIA with plpcfgbt fixed
Install program: Text updates
InstallToMBR.bat: Text update
Plop Boot Manager 5.0.14 minor update
The "z" hotkey to enable/disable the window zoom animation was not enabled. Now it works
Plop Boot Manager 5.0.14 released
This evening, I took some time to figure out why my boot manager hangs on the Asus EeePC 1215T. There are 2 reasons:
Plop Boot Manager 5.0.13 released
New tool: plpbt4win
Boot manager updates:
Boot manager installer updated:
plpbt4win 0.1 released:
A new powerful tool for windows users. It can be used in batch mode or with the builtin command line. It comes with 2 batch files. Windows people only have to start the batch file to add the boot manager to the windows boot menu. plpbt4win works with boot.ini and bcdedit. It makes it also easy to remove the boot manager entry from the windows boot menu. plpbt4win is a full replacement of plpgenbtldr. Fragmented bin files are no longer a problem. The loader has been rewritten to support fragmented bin files. contig is no longer needed. Read more in the documentation.
plpbtrom 0.6 released:
New parameter added: Some bios need a fixed rom size. You can set a required size of the rom with the -size parameter. For example -size 64k or -size 128k and so on.
plpcfgbtGUI 0.3 released:
Linux and Windows executables are now in separate directories. All Linux and Windows related tools are in the zip file.
Some parts of the documentation are not updated, but all necessary infos are available.
Maybe 5.0.14 comes soon. There are still a few things that have to be done for the 5.0.x series.
The new boot manager version 5.0.13 is included in the new Plop Linux release 4.1.2. The official release of 5.0.13 will be in the next days. Before I release the new version, I want to add a small built in command line to plpbt4win. I hope I can free a few hours in the next days.
plpbt4win 0.1-test2 released
The first test release had problems with Windows 7 (64bit). Thanks to Raymond M. for testing. It's fixed now.
I received the absolutely first donation. Thanks.
plpbt4win 0.1-test released
plpbt4win makes it easy to add/remove the boot manager from the windows boot menu. The program can work with the boot.ini and with bcdedit. It automatically detects the required method. The program is available in the boot manager download area.
I tested the program on WinXP and Vista. It worked fine, but its still a test version.
Look at the batch files to see more.
I spent my weekend to write a new program for windows users. plpbt4win
Plop Boot Manager 5.0.13-test5 released
Plop Boot Manager 5.0.13-test2 released
2 Boot Manager bugfixes and the Installer is updated. More details are coming soon.
Plop Boot Manager 5.0.12 released
The licence has been changed for 5.0.12. The boot manager is still free for personal and non-commercial use, but not free for commercial use! Maybe I give 5.0.12 free for commercial use in the future, but not now.
Plop Boot Manager 5.0.11-2 released
Bugfix: USB Driver memory allocation bug fixed. The driver didn't detect usb drives on some machines although 5.0.10 detected the drives.
Plop Boot Manager 5.0.12-test1 released
New main menu hotkey ALT-u. You can skip usb devices before the boot manager identifies the device. The usb driver must be small and has no full error handling implemented. Sometimes, the boot manager hangs during the usb device identification because of the missing error handling. Mostly its because of internal bluetooth adapters. With ALT-u you are able to skip those devices. When you don't always want to press ALT-u to skip the devices manually, then you can set the number of devices to skip in the boot manager setup. The setup option to skip mass storage devices has been replaced with the new feature.
The keys for skipping devices when you use CTRL-u or ALT-u are now
Booting from 2nd, 3rd or 4th hard disk activates now an int13 driver that swaps the hard disk drive number. Why wasn't that implemented earlier? I was meaning that its part of the operating system to handle the correct drive number when its booting from a hard disk number >80h. I changed my thinking because of a good argument of sambul61 at http://reboot.pro. The edit of the boot flag hard disk number in the "linked partitions" setup became useless and has been removed.
Plop Boot Manager 5.0.11 released
Updates from 5.0.10 to 5.0.11:
The graphical frontend plpcfgbtGUI 0.1-test for plpcfgbt.exe released.
But its not fix that those things are coming.
plpcfgbtGUI 0.1-test released.
It's a graphical frontend for plpcfgbt.exe. When people like it, then i will create frontends for other tools too. You find the plpcfgbtGUI.exe in the plop-5.0.11-rc2.zip/plpcfbt-0.9.zip file. I updated the zip files today.
Plop Boot Manager 5.0.11-rc2 released.
PCI Bus scan updated (needed for PCMCIA).
Plop Boot Manager 5.0.11-rc1 + updated tools released.
Boot Manager updates:
The boot manager page will be updated when 5.0.11 is released. The updated readme.txt is already in the rc1 zip file.
plpbtrom 0.5 released. I added the option -compress. The size of the option rom for your bios will be less than 32kb and the boot manager has still all features.
5.0.11-pcmcia-test3 released. Only a small bugfix with the bus numbering.
PCMCIA USB is working now fine here. PCMCIA-Test2 is now available for download.
The USB PC Card in any PCMCIA slot will be initialized at startup of the boot manager. The Plop Boot Manager is now an PC Card enabler for USB PC Cards. This means, that the PC Card USB hardware is available regardless of booting usb or not. This is useful when you use dos and another usb driver. When you hold the CTRL key pressed during startup, then the boot mnager waits at the end of pcmcia init.
Good times, bad times. The pcmcia test1 version was not working very well outside my cave. It worked on some laptops with a single pcmcia slot, but it didn't work on any laptop with 2 pcmcia slots. What a luck, I have 7 old laptops. I bought most of them because of the usb test stuff years ago. Two of them have two pcmcia slots (a thosiba notebook and a ibm thinkpad). The others have only one pcmcia slot. My development version after test1 was finally working on all single slot laptops. But it totally failed on all dual slot laptops. I don't know how many hours and days I spent to find the problem. It was so hard and at the end so easy (a simple wait that the card power is clean). Currently I am able to enable and access the slots and read the usb drive from the usb pcmcia pccard on the toshiba notebook. I haven't tested it on the ibm thinkpad, but when it works on all of my laptops, then the next test release will be available. Maybe today, but now its time for a drink.
Update: Booting from the usb pccard works fine on the toshiba notebook. But what a surprise, the ibm thinkpad makes troubles. That means, the new pcmcia test version is delayed.
I was busy and had no time for the test version. Currently I have one laptop and I know from another where my pcmcia code is not working. But I will fix this.
Update: I fixed it and the pcmcia test version is available for download.
Today, I successfully booted from a pcmcia usb card with usb 2.0 on an old laptop that has only one internal usb 1.1 port :). Another guy and I have to test the new feature on some other machines, but currently everything looks good. I think the next test version will be available for download on saturday. The current test version works fine, so I think the next stable version will be available next week. Btw. the size of the pcmcia (pccard) enabler is less than 1KB. I never thought that its so easy. The pcmcia system is a great system.
It looks like, the next release will have a long awaited new feature. Currently I am implementing support for PCMCIA USB cards. Long time ago (about 1 1/2 years), I bought the CardBus System Architecture Book. It was not easy to get such a book (see earlier posts). I took only a quick look on it, but I didn't start to write any test program. One month ago I got a mail from netherlands about pcmcia support and a trick. There was a missunderstanding about the trick and it was not useable to create a real implementation and I didn't followed that way. But pcmcia was still in my mind and motivated me last week to do something. So I bought last week a PCMCIA USB adapter. With the help of the book and the hardware I was able to create a simple and small test program and now I am able to activate the pcmcia usb card and read data from it. I will release a new boot manager test version soon :)
5.0.11-test3 is avaiable. I fixed hang bug that is happening on some machines during the graphic init.
I added a new feature to the plpbt.bin 5.0.11-test2 version. Icecube had the idea and now you can set a few parameters with the Linux Kernel Command Line. Use it with "append" in lilo, syslinux and grub.
I created a simpe script to create new iso files when you modified the plpbt.bin. Download plpbt-createiso.zip.
5.0.11-test released. Added the option to start the network rom. Cpu usage reduced. Code optimized.
Option ROM 0.4 released. PCI Rom fixed. New options added. ISA mode removed.
I am proud to tell you, the next release will have a new unbelievable great feature! You will be able to start the network option rom from the boot manager main menu. The new hotkey "n" does the same. Its no longer required to activate the bios boot menu to use network boot. So many times I had to activate network boot and had to press the bios boot menu hotkey. I hated it. In the development boot manager version I simply have to press "n" or select the menu entry! :) I love it!
The boot manager option rom will be updated too. Currently its not workig correct.
Plop Boot Manager 5.0.10 released. I fixed a small bug. Booting the 2nd, 3rd and 4th logical partition was not working.
Plop Boot Manager 5.0.9 released. I fixed a small bug in the USB driver INT 13h/Function 8. You should update the boot manager if you use it to boot from usb. Discovered by michiganbroadband when using wintoflash. Forum entry
Plop Boot Manager 5.0.8 released. From time to time, people ask to boot logical partitions. Now I added this feature. You can setup the logical partition in the profiles/linked partitions by pressing "l" key.
Plop Boot Manager 5.0.7 released. There was a bug in the 5.0.6 plpbt.bin
2 Installer updates:
Plop Boot Manager 5.0.6 released. I added a new feture for the binary version. You can activate a startup hotkey. You get the message to press CTRL-A to start the boot manager. If you don't press it, booting continues without the boot manager. This will be useful for CD's and ROM's. The ROM version had a problem with the ESC and continue booting. This is fixed now. I also updated the harddisk detection. It's only a cosmetic change and should change nothing about the boot manager behaivour.
plpcfgbt 0.7 released. Startup hotkey option added.
plpbtrom 0.3 released. grabid option updated. Rom filesize check updated.
plpbtrom 0.2 released. A pci header update.
plpbtrom 0.1 released. Now it's easy to create an ISA/PCI boot manager option ROM. See here.
Version 5.0.5 released. A startup bug (detected by Bertola and his Macbook) is fixed. Another bug that happened sometimes when booted from network is fixed too.
Because of multiple requests, I updated the installer to install the boot manager to other disks than the first one. Its required if you install from USB.
plpcfgbt 0.6 released. A small parameter bugfix. Thanks to bront for reporting the bug.
Today, I played around with the USB CDROM driver. Mostly it works and then it stopped working. I don't know why and how fast I can fix it.
Currently I am writing the long awaited USB CDROM driver. First tests are looking really good. If there are no big troubles and I find enough time, then I will release a version next week. There will be 2 versions in the future. The USB CDROM boot manager will boot only USB CD drives (no USB pen drives/harddisks or IDE CDROM'S).
Plop Boot Manager 5.0.4 released.
I bought a Toshiba m200 notebook to fix some EHCI problem and I got it today.
Updated the documentation how to start the boot manager from syslinux, isolinux, extlinux and pxelinux with the "LINUX" option instead of the "KERNEL" option. Thanks to Icecube.
Here is the second test version. [removed]
Here is a temporary test version. [removed]
Sorry, the new release is delayed. The EHCI driver hangs with VirtualBox. So I try to fix this and some other things.
USB UHCI driver update: this week I bought a Compaq EVO DS 500. The UHCI
driver was very slow on that machine. Sombody reported it in the
forum (at page 3
you can see the pain and success message from me).
Loading of zeroshell linux (grub, kernel and initrd) needed about 40 minutes or longer.
Now I updated my driver with help of the real hardware and now grub, vmlinuz and initrd
of zeroshell are loaded within 10 seconds! Yes, seconds and not minutes! Cool, or? :)
Plans for the next release: usb booting will not be limited to the first mass storage that is
found. I plan to add some stuff that makes it possible to boot from the second, third,...
mass storage device. But I have to kick out some things that are not really required (from
plpgenbtldr v0.7 released. There was a bug with FAT12/FAT16. Its fixed now. Thanks to walterav for reporting the bug.
Now there is an easy way to add the boot manager to the boot menu of VISTA. See here. Thanks to tri_zet for this info.
USB UHCI driver updated. Now its 2x faster. The driver update will be in the next release. You want to test the new driver? Then contact me.
plpgenbtldr v0.6 released. This version works now fine with NTFS and FAT partitions. Source code completely rewritten.
Version 5.0.3 released.
A new version with some minor updates and a new feature comes soon.
Version 5.0.2 released.
Thu 19/Feb/2009 - part 2
Version 5.0.2-test2 released. USB SD Card Reader should work now.
Thu 19/Feb/2009 - part 1
Version 5.0.2-test2 comes today or tomorrow. I bought an USB SD Card Reader because the boot manager was not working with the most of them. I fixed the problem and it works in my test environment. The fix will be in the new test version.
Version 5.0.2-test1 released. I wrote a simple cache mechanism to get very fast access to sectors of the usb device. Now it's really fast. I modified only the EHCI code. The test version can be seen as stable.
I spent the whole day to update the EHCI USB code. The result is a performance boost :). Currently, the modifications are working only in a development environment.
5.0.1-test1 available. I fixed a problem with VISTA PE when booting from USB.
Here is a new way to start the boot manager :) Using it as BIOS option ROM to start the boot manager without a harddisk, floppy or cd drive. You can place it on a ROM (ex. Networkcard ROM) and start it from the bios. Inspired by George (uleak). A test version is available for download.
Plop Boot Manager 5.0 has been released!
There are some changes between the rc18 and this release.
What about the future?
Development will continue. I am sure, there are still controllers those are not working and there will be 5.0.x versions.
I have ideas for 5.1
Have fun with my boot manager!
Here is an article about the Plop Boot Manager for italian people. [Link]
This week comes an update that fixes an ehci initialization (hang) problem on some controllers. Additional, the new version will fix a LBA to CHS bug. This bug make sometimes problems (hal.dll not found message) when you are using windows to boot from usb. There will be two new hotkeys for usb to force usb 1.1 and a wait key option to read the text from the boot window before booting.
Boot Manager v5.0rc18 released. EHCI driver update.
plpgenbtldr 0.5 released. Now there is a workaround if my NTFS routines are not working. It's possible to use a parameter for the LCN (Logical Cluster Number) of plpbt.bin. See the boot manager manual or the 1README.TXT of plpgenbtldr for more infos.
Today I fixed a bug in the EHCI USB code. The bug makes problems on a few USB controllers. This means, soon comes a RC18.
plpgenbtldr 0.4 released. There was a bug with big partitions. Thanks to Raymond (raymond.cc) for reporting the bug and his help to fix the bug and testing programs.
plpcfgbt updated. There was a error about wrong boot manager configuration version.
Boot Manager v5.0rc17 released.
The documentation update needs more time. If you can't wait longer, you can receive the new boot manager on request with the contact form.
Tomorrow comes v5.0RC17. I think (again) it's the last RC. I used the last 3 days for improving the boot manager, the installer and a new tool. There are new cool features for customizing. People that remaster the boot manager for their use will love it. With v5.0RC17, a new configuration tool and a stand alone installer (for dos) will be released.
This week comes a new version.
Today i added a feature to start the boot manager direct from grub. I tested it with the original grub and grub4dos. The workaround with a virtual floppy image is no longer needed.
plpbt.dat will be removed and the feature will be replaced with a configuration program (windows and linux).
Plop Boot Manager v5.0RC16 released.
plpgenbtldr updated. Documentation for 2K, XP and VISTA added to the manual.
Boot manager v5.0RC15 released. One bugfix and a big new feature for floppy and cd version.
Bugfix: Memory allocation problem when loading usb/cd driver on some older mainboards fixed
New feature: Because of the request of users, now its possible to save changes with the floppy version. Changes are stored in the file plpbt.dat. If this file does not exists, the default settings from the boot manager are used. For cd, you can create custom settings with the floppy version and create a new image file (or copy plpbt.dat into the boot.img on cd). Replace your image file with the boot.img on the cd. A practical example is to create a cd with default boot is usb, timeout 2 seconds and startmode is hidden. The computer boots from cd and continues to usb without showing the boot manager.
Because of boot manager size and free space, the date display swapping is removed now.
New tool: plpgenbtldr
makes it possible to start the Plop Boot Manager with boot.ini from Windows.
How to use:
The program handles only the minimum to access the root directory of a NTFS partition. It bases on NTFS routines I wrote in 1999 in assembler. You get the source code of plpgenbtldr with the zip file. You can make the source code better if you want.
There are a lot of things to improve the program. I did not spend too much time for writing the tool, because I dont know if people find this tool useful. Please send a feedback.
Today i fixed a bug that comes up on some older boards (ex. ASUS P2B). It was a memory allocation problem during loading the USB driver. The fix will be in the v5.0RC15.
Bootmanager v5.0RC14 released. Only debug break points removed. This caused some problems on a few bios versions. I think this will be the last release candidate.
I heard from speculations about "slow" speed with my ehci driver and it has only usb 1.1 speed.
It's not possible to set different speeds on usb controllers. If the ehci driver is used, then it's usb 2.0 highspeed.
If the uhci or ohci driver is used, then it's usb 1.1 fullspeed.
Sure, it's possible that my ehci driver is slower than the bios driver, but it's still
much faster than usb 1.1 (see test below).
A performance test with my drivers to see the speed difference of usb 1.1 and usb 2.0:
Today I got a mail with a successful complex chainload booting. The user run's VMware. The Plop Boot Manager is the primary boot manager. Plop starts with USB the grub4dos boot manager from an usb harddisk. grub4dos starts an emulated iso with TrueCrypt rescue iso. After entering a password, the TrueCrypt bootloader starts Windows XP from usb harddisk with usboot.org.
VMware -> Plop -> USB -> grub4dos -> TrueCrypt iso -> Windows XP from usb harddisk
Funny, it works :)
Bootmanager v5.0RC13 released.
The updated ehci driver works now on Intel 82801DB too. At the beginning, the new code was not working on vmware, but now it does.
The new version RC13 comes in the next days.
Planned is a windows installer to install the bootmanager from a running windows.
Intel 82801DB EHCI: reading sectors works now. Booting and vmware not tested at the moment. Tests with the new code on nvidia and via chipsets are looking good.
I fixed 2 bugs. Both are INT 13h related. Fixes will be available in the next release RC13.
ThinkPad 570 works now.
I got a bug report with IBM ThinkPad 570. I bought a cheap one. The bootmanager really hangs with usb booting. I will search the bug soon.
No news about Intel 82801DB.
I will dedicate next week for usb bug fixing.
New hardware, bad hardware. The new mainboard has a malfunction (not usb related). I have to wait for a new one. Bugfixing is delayed :(
Mon 18/Aug/2008 - part 2
I found a bug. This could be the reason, why the bootmanager hangs on some machines.
Mon 18/Aug/2008 - part 1
No news. I had to finish other stuff. Today, quickly I tested RC11 on my new pc. RC11 works on it.
I got a new pc. It has an Intel 82801I EHCI controller. The bootmanager RC12 hangs at this pc. I think, next week I can search and fix the bug.
Searching the bug with Intel 82801DB EHCI controllers is stopped. In a few weeks, I will get the hardware (for a while from a friendly guy) for searching and fixing the bug.
I got a bug report, that the EHCI driver hangs on Intel 82801DB EHCI controllers (v5.0rc11 UHCI works). Currently I am searching the bug.
New boot manager RC12 is released. The support for INT 13h/48h is available now. The biggest modification of the boot manager is the new EHCI driver. Now fast USB 2.0 speed is available. I managed it to fit all into the boot manager. So there is only one version for all three usb drivers.
EHCI: success! It works on all my computers and in vmware! That means rc12 comes today or in the next 2 days.
The flybook makes some troubles, but this has a low priority.
EHCI: it still does not work as i wish.
EHCI: Either it works in vmware or on my other computers. 2 different programs are required, i hope i can fix it.
EHCI: it works now in vmware too. It was not easy. I made a lot of changes and now the code is very ugly because of the testing and debug stuff. Tomorrow, I will clean up the code and hope that it still works on other machines.
EHCI: first tests are completed. Currently, it does not work with vmware. I try to fix this and then rc12 will be available for download.
EHCI: I am happy :) I am able to boot! Now the bootmanager has UHCI, OHCI and EHCI USB support! Now it's time to optimize and test. The new RC12 comes soon.
EHCI: no news, same as yesterday :(
Mon 05/May/2008 - Tue 06/May/2008
EHCI: in my development environment it works perfect, but when i try a real boot, it hangs. I hope I find the problem soon.
EHCI: sector reading works fine now. The routines are now in a small driver, but there are still some problems.
EHCI: sector reading was possible but there is a strange problem I have to fix when I read moe than one sector.
EHCI goes on step by step. I hoped to read a sector today, but I had some troubles. However, finaly I was able to read the inquiry data from a device with bulk transfers. Thats really close to reading sectors. I think tomorrow I am able to read sectors.
I had a lot of frustrating try's to send and receive data from an usb device via EHCI without success for 3 days. But now :) I received the first device descriptor of an usb device via EHCI.
Mon 28/Apr/2008 - Thu 01/May/2008
Started reading the EHCI documentation.
Because of some troubles with a few EHCI controllers, I will write
a EHCI driver. That means high speed usb transfers on modern machines :)
At the moment, I don't know when i find time to write it. I think, I can start soon.
Another bug in the usb drivers is fixed. The bug was dicovered by Piotr Kedziora with using grub to start linux. The extendet INT 13/48h was not implemented. I added it and now it works. The buxfix will come with the rc12.
Boot manager v5rc11 released. I don't like such fast releases after a release, but i fixed the 'boot signature not valid' message at some usb devices.
Boot manager v5rc10 released.
The USB OHCI and UHCI drivers are updated. Primary the init routines are updated. The CDROM driver had a small update too.
A new feature has been added. Now it's possible to use floppy, cdrom or usb boot at startup like the default profile. This works in the hiden mode too.
RC 10 comes tomorow.
Good news!! After a long break, i found time to fix some usb driver problems. A new version with updates of the OHCI and UHCI driver comes in a few days! A few tests have to be done and then you will be able to download it.
Manual updated. How to install Windows XP and Vista o one harddisk with hidden partitions.
Boot manager v5.0rc9 is available for download with USB driver updates (about legacy support) and some changes in the menu.
Latest test where successful. Wating for a last test result and then RC9 will be available for download.
Good news, with rc9 there comes an important usb driver bugfix. A few tests have to be done and then you will be able to download it.
RC8 released, the only update is the message output to press CTRL-ESC for textmode, if the init of the graphic mode is not possible.
Please send me more feedback messages about successful and failed booting of usb devices. If usb boot does not work, please add some infos about the used hardware.
Today I wrote the first parts of the manual in english and german. Currently only the important parts like partitions and profiles.
Boot Manager v5.0rc6 released.
Now usb boot works on my flybook too. But my usb drivers can own the control of the usb controller always at the second try. Fist try, no mass storage device is found, second try it finds the device and can boot it.
Now, booting works on a new dell laptop of a friend too. But it's required to DISABLE the bios "usb legacy" option. Then my drivers can use the usb controller without troubles. I think, that problem will exist on other machines too. I don't know if i can fix it.
A new ISO is there to start the bootmanager from CD without installing it.
With the test notebook I fixed a bug.
Boot problem with usb: on some computers the bootmanager says "Boot sector not found". Today I got a laptop to fix that boot problem.
RC4 released. Tests with other machines than mine, showed that there are still problems with some usb controllers, but i try to fix it.
Tue 06 - Wed 07/Nov/2007
Good news. It was very hard to find some bugs from the USB driver, but now the usb drivers are working with all my computers (laptops too, except the flybook). Some friends have to test v5.0RC4 and then you can download it today.
RC 3 released.
I added some EHCI support, now usb should work better. If there are conflicts when the BIOS owns the usb device and the bootmanager can't own it, then I have a workaround for you. Create a profile with the name "bios usb". All partitions as "dont' touch" and select the device/partition the bios assigned with "b". then you should be able to boot too. dos will not work but linux should.
There is a new hotkey for the main menu. Press "q" for quick boot select. You can boot a partition directly.
As some people wished. The bootmanager can boot from floppy to start it without installation on a harddisk.
Limitations: the bootmanager configuraton cannot be saved. Changes are valid for one session only. MBR partition edit is possible.
The bootmanager is added to the boot cd/usb stick of Plop Linux.
Here are some screenshots from the Plop Boot Manager v5.0rc2. I think, I can start with the EHCI driver in one week.
The release candidate 2 is available for download!
The release candidate 1 is available for download!
A few things are not finished, but it was time to present something.
There are good and bad news!
A new important feature added to the user interface. It's a master boot record partition data hex editor.
CDROM driver is now implemented again.
Driver changes from bootmanager 4.x
USB device booting from the bootmanager with an OHCI controller was successful. I tried Plop Linux from usb and dos. Both are working.
Current size of the OHCI driver is about 3.6 KBytes.
Current status of work:
Sector reading from OHCI works, tomorrow I write the int13 driver and then I try the first boot from OHCI. I think it will work without big troubles.
Good news, I found the bug in my OHCI code. It was a really small bug (the transfer buffer was one byte too big defined), but now I can send and receive data from an usb device connected to an OHCI controller.
Yesterday I thought I can finish the writing of the OHCI driver, but something goes wrong and I can't find the bug. Maybe tomorrow :(
But booting from UHCI makes so much fun :) Maybe I release a pre-version of the new bootmanager.
USB Device booting from the bootmanager from an UHCI controller was successful. I tried Plop Linux from usb and dos. Both are working.
I can successful install my UHCI driver from the bootmanager to the ram. It's possible to read sectors from the usb device with the installed driver when DOS is running.
Tomorrow I'll try the first boot of the usb stick.
The current binary size of the UHCI driver is about 4KB. I hope the OHCI driver is not bigger. Current OHCI status: 15% complete.
There was a very long break. But now I restarted the developing for the usb driver. The old usb uhci code was very bad. I rewrote it from scratch and now it works fine. It's always a good idea to read the whole design guide :)
I tested it with various usb harddisks and usb sticks. I was able to read the sectors from the devices (except one very old usb stick).
I began to write the new bootmanager too.
Current status of work:
I try to finish the bootmanager as soon as possible, but I have to earn money too.
There was a break because of other stuff. maybe I can continue next week.
!!sector read success!!
today I had to make a choice. implement the usb stuff including usb hub support or not. because of the program size, I dont implement usb hub suppport (now). only mass storage devices connected direct to the usb host controller will be supported. if there is enough space left after writting the bootmanager, I will add usb hub support.
only minor changes with usb enumeration process.
Today I wrote the device enumeration. it's nearly complete. Maybe tomorrow, my routines are good enough to read sectors from a device.
First success with sending/receiving data from/to an usb device.
I had time to study UHCI and start to write the first basic routines for communication with the host controller.
© 2014 by Elmar Hanlhofer