From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: grub-devel@gnu.org
Subject: Re: USB bulk transfert from GRUB ?
Date: Sat, 25 Dec 2010 13:38:33 +0100 [thread overview]
Message-ID: <4D15E5C9.8000501@gmail.com> (raw)
In-Reply-To: <4D0FB8A2.5060407@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2417 bytes --]
On 12/20/2010 09:12 PM, Nicolas de Pesloüan wrote:
> Hi,
>
> Some USB devices require a specific command to be sent (using USB bulk
> transfer) before they switch
> to "storage mode". Such devices are switched by USBmodeSwitch
> (http://www.draisberghof.de/usb_modeswitch/), after the operating
> system start. USBmodeSwitch use
> libusb to send the right command to the right USB endpoint, depending
> on the ID of the USB device.
>
> In order to be able to boot from such devices, one needs to switch the
> device early, before the operating system is started. I think GRUB2
> should be the right place for this.
>
> For as far as I understand, libusb is available from inside GRUB2,
No it's not. We use our own routines for USB transfers. Have a look at
include/grub/usb.h. E.g:
grub_usb_err_t
grub_usb_bulk_write (grub_usb_device_t dev,
int endpoint, grub_size_t size, char *data);
> so it shouldn't be really difficult to add a command to initiate a
> given bulk transfert to a given USB endpoint. (My understanding is
> that no such command already exists).
grub_usb_bulk_write does exactly this. However it's not to be exported
as a command
>
> Contrary to USBModeSwitch that use a database at runtime to decide how
> to switch the device, it is probably easier to decide this at
> grub-mkconfig time, using the same database.
>
Doing any USB detection at grub-mkconfig time is a bad idea. USB is in
flux and you can't possibly know e.g. the address of target device on
runtime. On the other hand it should be easy to write a parser for
device_reference.txt. It's also probably easier to write something that
small from scratch than to port it (all the value is in the database,
not code). Another question is how much autoconfigured it should be.
Some people may prefer these devices be in non-storage mode as usually
the only thing they store are useless buggy drivers.
> Of course, I perfectly understand that the first part of GRUB2 cannot
> be located from this kind of USB devices, because it needs to be
> loaded before GRUB2 start, and we would face a chicken and egg problem.
>
> Any comments ?
>
> Nicolas.
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> http://lists.gnu.org/mailman/listinfo/grub-devel
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
next prev parent reply other threads:[~2010-12-25 12:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-20 20:12 USB bulk transfert from GRUB ? Nicolas de Pesloüan
2010-12-25 12:38 ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2010-12-25 19:57 ` Nicolas de Pesloüan
2010-12-25 20:13 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-12-25 22:32 ` Nicolas de Pesloüan
2010-12-25 23:25 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-12-26 10:26 ` Nicolas de Pesloüan
2010-12-26 10:47 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-12-26 11:46 ` Nicolas de Pesloüan
2010-12-26 12:05 ` Vladimir 'φ-coder/phcoder' Serbinenko
2010-12-26 16:39 ` Nicolas de Pesloüan
2010-12-28 8:01 ` Nicolas de Pesloüan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D15E5C9.8000501@gmail.com \
--to=phcoder@gmail.com \
--cc=grub-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).