Opened 5 months ago

Last modified 5 months ago

#14090 new bug

Bootloader fails to find bfs volume on CD-ROM when booting via external USB 2.0 optical drive

Reported by: Stacked_Lambda Owned by: mmlr
Priority: normal Milestone: Unscheduled
Component: Drivers/USB/EHCI Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Bootloader stalls with error message indicating that no bootable bfs volume was found and enters KDL. I have not yet captured the SysLog (still have to learn how to) for details.

Experienced with Anyboot ISOs of R1 - Alpha-4.1 and HRev51877 - Hybrid-32bit.

The notebook is an Acer Aspire One 721-3922 (AMD. Athlon II Neo K125 at 1.0 GHz.

The optical drive is a Sony DRX-S50U (CD/DVD Rewritable - USB 2.0 - Manufactured February 2007).

In both cases, this combination of notebook/external optical drive was used to "burn" the ISO from Windows 7. A number of Linux distributions, Off-line Virus Scanners, as well as the Windows 7 Emergency/Repair Disc have been successfully booted with this combination.

These ISOs boot fine when used in a system with an internal CD.

This is an inconvenience as one cannot use an inexpensive medium (CD-R) for testing purposes.

Attachments (1)

SysLogExtract_ExternalOpticalBootFail.txt (1.9 KB) - added by Stacked_Lambda 5 months ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 5 months ago by diver

Component: - GeneralDrivers/USB/EHCI
Owner: changed from nobody to mmlr

Please attach your syslog.

comment:2 Changed 5 months ago by vidrep

comment:3 Changed 5 months ago by Stacked_Lambda

From the hints in ticket/6181, I experimented a bit further using my R1-Alpha-4.1 capable notebook.

The external USB optical drive is detected as /dev/disk/usb/2/0/raw.

The BFS volume in the external optical drive (HRev51877 - Hybrid - 32-bit) can be mounted and its contents examined.

The icon for the volume on the desktop is the USB Flash Drive one.

It seems that the external USB drive presents a confusing situation to the bootloader - USB transport and optical media.

comment:4 Changed 5 months ago by bruno

syslog info: https://www.haiku-os.org/documents/dev/system_logging/

The logfile is here: boot/var/log/syslog

Last edited 5 months ago by bruno (previous) (diff)

comment:5 Changed 5 months ago by pulkomandy

I would start by booting from other media and trying to mount the CD from the booted system. This may be easier to investigate.

comment:6 Changed 5 months ago by vidrep

I have a similar issue here. When my HP USB CD-ROM is connected to my notebook it KDL's with a no bootable bfs volume found. However, the same drive with same Haiku CD connected to a USB port on my desktop boots to the installer OK. I'll investigate further, and post syslogs for each scenario.

Changed 5 months ago by Stacked_Lambda

comment:7 Changed 5 months ago by Stacked_Lambda

It is a bit difficult to get to a "saved" SysLog when booting from a read-only medium.

I ultimately elected to display the SysLog, write its content down on paper, and transcribe it into a text file.

I added some details about the notebook and optical drive as well as the key KDL information. I abridged the SysLog to something I could more easily transcribe. Let me know if any critical bit of information is missing.

I booted my trusty R1-A4.1 USB Flash Drive and it mounted the BFS Volume on the HRev51877 CD-ROM without any complaints.

One thing I noticed is that the icon for the volume is an optical disc when mounted in an internal optical drive and a USB flash drive when mounted in an external drive.

comment:8 Changed 5 months ago by mmlr

You can use the reboot command in KDL and then enter the bootloader again after the reboot. If the memory wasn't cleared by the firmware you should be able to display the syslog from the previous boot there and save it to a FAT formatted USB stick.

I would expect this to be related to USB, so USB debug output would be relevant. Maybe you could try blacklisting the /system/add-ons/kernel/busses/usb/xhci bus. That should disable any USB3 support that might be lacking. Otherwise the USB stack should be mostly the same as in the last alpha and should therefore be able to find the volume.

comment:9 Changed 5 months ago by pulkomandy

The icon is provided by the driver, so it's normal that the ATAPI driver will use a CD icon, but the USB driver will use an USB icon.

comment:10 Changed 5 months ago by Stacked_Lambda

The reboot command in KDL leads to a cold boot and the memory contents are not preserved.

In the SysLog captured up to the time of entering Safe Mode, there are no lines:

boot partition offset : nnnnnnnn

0xnnnnnnnn Partition::SetParent 0x00000000.

These two lines are present in all SysLogs similarly acquired and with Haiku successfully booting after the "continue booting" is entered.

While in KDL, I entered some commands I felt were pertinent. Not much with the exception of the following:

mounts gives:

address 0x83003e40 root 0x8301ce60 covers 0x00000000 fs_name rootfs

address 0x8300ad80 root 0x8301cdc0 covers 0xnnnnnnnn fs_name devfs

I peeked at the SysLog available after the PANIC. Some of the lines I noted were:

modules: search for busses/usb/xhci failed

usb hub 22 : port 4: new device connected

(this is the optical drive as the manufacturer information, etc is displayed)

acquire_sem failed while waiting for data transfer : operation timed out

The last six lines in the SysLog are:

device 1: /dev/disk/usb/0/0/raw

media status: operation timed out

device flags 5

device 2: /dev/disk/usb/1/0/raw

media status: operation timed out

device flags 5

Also, something is weird when rebooting into Windows while keeping the external optical drive connected. The first time, Windows reports about the disc present as "O free of 3.37 MB and the volume as CDFS. Anytime after, Windows reports "76.2 MB free of 702 MB" and the volume as bootimg as it normally does when the drive is connected and the disc is inserted into the drive.

Last edited 5 months ago by Stacked_Lambda (previous) (diff)
Note: See TracTickets for help on using tickets.