Skip to contentSkip to conversation

U-boot: Beagle board as a USB Mass Storage Device Class

U-Boot yogesh b 5 participants 10 messages Jun 8, 2010 – Jun 14, 2010

lore
Share & tools
lore

yogesh b

author
#0 lore raw

Hi,

I want to make the Beagle board (with u-boot) to look like a USB Mass Storage Device when it is connected to the host PC. Can anyone suggest regarding the files that I need to update in u-boot code, to make the Beagle board look like a USB Mass Storage Device.

Regards,
Yogesh

#1 lore raw

Dear yogesh b,

Quoted 5 lines · In message <[email protected]> you wrote:

I want to make the Beagle board (with u-boot) to look like a USB Mass Storage Device when it is connected to the host PC. Can anyone suggest regarding the files that I need to update in u-boot code, to make the Beagle board look like a USB Mass Storage Device.

You don't need to and should not change anything in U-Boot. All it takes to do what you want is a two stage boot procedure. In the first step, boot Linux.

Keep in mind that U-Boot is a boot loader, not an operating system. Fancy stuff should be done where the enviornment is available for it, i. e. in an operating system.

[Note: even if you implement Device Mode support as an USB Mass Storage Device in U-Boot that would be just the first step - you would then most probably need write support for the file system(s) of your choice, and ... and ...]

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Every program has at least one bug and can be shortened by  at  least
one instruction - from which, by induction, one can deduce that every
program can be reduced to one instruction which doesn't work.
author
#2 lore raw

Thanks for your response. I want to tell few more things about our implementation.

Actually we are planning to simulate (but not implement) the file system and implement the SCSI transparent command set decoder. When ever a file is sent to the USB mass storage device, we will be taking the content of that file to use for our application. The actual application does not require all the features of a Mass Storage Device; we just want it to look like a Mass Storage Device for transferring the data in the form of a file and for some other usage.

Because of some constraints, we have to implement all this stuff at u-boot level, instead of doing it in OS(Linux) level.

Regards,
Yogesh

--- On Tue, 6/8/10, Wolfgang Denk <[email protected]> wrote:

From: Wolfgang Denk <[email protected]>
Subject: Re: [U-Boot] U-boot: Beagle board as a USB Mass Storage Device Class
To: "yogesh b" <[email protected]>
Cc: u-boot at lists.denx.de
Date: Tuesday, June 8, 2010, 12:51 PM

Dear yogesh b,

Quoted 5 lines · In message <[email protected]> you wrote:

I want to make the Beagle board (with u-boot) to look like a USB Mass Storage Device when it is connected to the host PC. Can anyone suggest regarding the files that I need to update in u-boot code, to make the Beagle board look like a USB Mass Storage Device.

You don't need to and should not change anything in U-Boot. All it takes to do what you want is a two stage boot procedure. In the first step, boot Linux.

Keep in mind that U-Boot is a boot loader, not an operating system. Fancy stuff should be done where the enviornment is available for it, i. e. in an operating system.

[Note: even if you implement Device Mode support as an USB Mass Storage Device in U-Boot that would be just the first step - you would then most probably need write support for the file system(s) of your choice, and ... and ...]

Best regards,

Wolfgang Denk

Signature · 6 lines
DENX Software Engineering GmbH,? ???MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Every program has at least one bug and can be shortened by? at? least
one instruction - from which, by induction, one can deduce that every
program can be reduced to one instruction which doesn't work.
#3 lore raw

Dear yogesh b,

please stop top-posting / full-quoting; please read
http://www.netmeister.org/news/learn2quote.html

Quoted 8 lines · In message <[email protected]> you wrote:

Actually we are planning to simulate (but not implement) the file system an d implement the SCSI transparent command set decoder. When ever a file is s ent to the USB mass storage device, we will be taking the content of that f ile to use for our application. The actual application does not require all
the features of a Mass Storage Device; we just want it to look like a Mass Storage Device for transferring the data in the form of a file and for som
e other usage.

... and plkease use a shorter line length - som 70 characters or so.

Quoted 2 lines

Because of some constraints, we have to implement all this stuff at u-boot level, instead of doing it in OS(Linux) level.

Would you mind to explain what these constraints are? From what you explained so far I seriously doubt if U-Boot is the right environment for such work. You want an OS (even if you don't know it yet).

Best regards,

Wolfgang Denk

Signature · 4 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Thought for the day: What if there were no hypothetical situations?
#4 lore raw
In reply to yogesh b

Hi

Quoted 10 lines

Thanks for your response. I want to tell few more things about our implementation.

Actually we are planning to simulate (but not implement) the file system and implement the SCSI transparent command set decoder. When ever a file is sent to the USB mass storage device, we will be taking the content of that file to use for our application. The actual application does not require all the features of a Mass Storage Device; we just want it to look like a Mass Storage Device for transferring the data in the form of a file and for some other usage.

You can also use USB DFU for this where you can transfer files to RAM or NAND partitions. DFU is not yet supported in Denx's uboot tree but is Available in openmoko's tree
[http://git.openmoko.org/?p=u-boot.git;a=summary].
You will have to port back DFU feature from openmoko to Denx's tree.

-Ajay

Quoted 55 lines

Because of some constraints, we have to implement all this stuff at u-boot level, instead of doing it in OS(Linux) level.

Regards,
Yogesh

--- On Tue, 6/8/10, Wolfgang Denk <[email protected]> wrote:

From: Wolfgang Denk <[email protected]>
Subject: Re: [U-Boot] U-boot: Beagle board as a USB Mass Storage Device Class
To: "yogesh b" <[email protected]>
Cc: u-boot at lists.denx.de
Date: Tuesday, June 8, 2010, 12:51 PM

Dear yogesh b,

Quoted 5 lines · In message <[email protected]> you wrote:

I want to make the Beagle board (with u-boot) to look like a USB Mass Storage Device when it is connected to the host PC. Can anyone suggest regarding the files that I need to update in u-boot code, to make the Beagle board look like a USB Mass Storage Device.

You don't need to and should not change anything in U-Boot. All it takes to do what you want is a two stage boot procedure. In the first step, boot Linux.

Keep in mind that U-Boot is a boot loader, not an operating system. Fancy stuff should be done where the enviornment is available for it, i. e. in an operating system.

[Note: even if you implement Device Mode support as an USB Mass Storage Device in U-Boot that would be just the first step - you would then most probably need write support for the file system(s) of your choice, and ... and ...]

Best regards,

Wolfgang Denk

--
DENX Software Engineering GmbH,? ???MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de Every program has at least one bug and can be shortened by? at? least one instruction - from which, by induction, one can deduce that every program can be reduced to one instruction which doesn't work.

#5 lore raw

Hi,

Quoted 12 lines

Hi

Quoted 10 lines

Thanks for your response. I want to tell few more things about our implementation.

Actually we are planning to simulate (but not implement) the file system and implement the SCSI transparent command set decoder. When ever a file is sent to the USB mass storage device, we will be taking the content of that file to use for our application. The actual application does not require all the features of a Mass Storage Device; we just want it to look like a Mass Storage Device for transferring the data in the form of a file and for some other usage.

Quoted 5 lines

You can also use USB DFU for this where you can transfer files to RAM or NAND partitions. DFU is not yet supported in Denx's uboot tree but is Available in openmoko's tree
[http://git.openmoko.org/?p=u-boot.git;a=summary].
You will have to port back DFU feature from openmoko to Denx's tree.

Thanks for the hint Ajay. Let me add that DFU is also a "standard"
protocol: http://www.usb.org/developers/devclass_docs/DFU_1.1.pdf

So many people will be able to enjoy this in addition to solving this very specific problem of Yogesh.

Cheers
Detlev

Signature · 8 lines
It's very important  that you sleep because that's  when your brain is
garbage  collecting.  And a  dream is  if you  are interrupted  in the
middle and have junk left in the registers.
                                          -- Gerald Sussman
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
#6 lore raw

Hi,

Quoted 13 lines
Quoted 4 lines
Quoted 4 lines

Thanks for your response. I want to tell few more things about our implementation.

Actually we are planning to simulate (but not implement) the file

system

Quoted 1 line
Quoted 1 line

and implement the SCSI transparent command set decoder. When ever a

file

Quoted 5 lines

You can also use USB DFU for this where you can transfer files to RAM or NAND partitions. DFU is not yet supported in Denx's uboot tree but is Available in openmoko's tree
[http://git.openmoko.org/?p=u-boot.git;a=summary].
You will have to port back DFU feature from openmoko to Denx's tree.

Quoted 5 lines

Thanks for the hint Ajay. Let me add that DFU is also a "standard"
protocol: http://www.usb.org/developers/devclass_docs/DFU_1.1.pdf

So many people will be able to enjoy this in addition to solving this very specific problem of Yogesh.

Detlev,

Actually I have ported DFU from openmoko to Denx tree and used it on OMAP3EVM. I hope it should work just fine on Beagle as well.

Will it be ok if I submit those patches to Denx's tree? Is there anyone Already working on this?

I have seen below page with the same proposal from Mike.
http://elinux.org/CELF_Project_Proposal/Add_DFU_support_to_U-Boot

Mike, Are you working on this?

Regards,
Ajay

Quoted 13 lines

Cheers
Detlev

--
It's very important that you sleep because that's when your brain is garbage collecting. And a dream is if you are interrupted in the middle and have junk left in the registers.
-- Gerald Sussman
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

#7 lore raw

Hi,

Quoted 21 lines · Ajay Kumar

Hi,

Quoted 13 lines
Quoted 4 lines
Quoted 4 lines

Thanks for your response. I want to tell few more things about our implementation.

Actually we are planning to simulate (but not implement) the file

system

Quoted 1 line
Quoted 1 line

and implement the SCSI transparent command set decoder. When ever a

file

Quoted 5 lines

You can also use USB DFU for this where you can transfer files to RAM or NAND partitions. DFU is not yet supported in Denx's uboot tree but is Available in openmoko's tree
[http://git.openmoko.org/?p=u-boot.git;a=summary].
You will have to port back DFU feature from openmoko to Denx's tree.

Quoted 5 lines

Thanks for the hint Ajay. ?Let me add that DFU is also a "standard"
protocol: http://www.usb.org/developers/devclass_docs/DFU_1.1.pdf

So many people will be able to enjoy this in addition to solving this very specific problem of Yogesh.

Quoted 7 lines

Detlev,

Actually I have ported DFU from openmoko to Denx tree and used it on OMAP3EVM. I hope it should work just fine on Beagle as well.

Will it be ok if I submit those patches to Denx's tree? Is there anyone Already working on this?

Good news, can you post it? we just start to implement it s5pc110. we hope to use it.

Thank you,
Kyungmin Park

Quoted 26 lines

I have seen below page with the same proposal from Mike.
http://elinux.org/CELF_Project_Proposal/Add_DFU_support_to_U-Boot

Mike, Are you working on this?

Regards,
Ajay

Quoted 4 lines

Cheers
? Detlev

Quoted 9 lines

--
It's very important ?that you sleep because that's ?when your brain is garbage ?collecting. ?And a ?dream is ?if you ?are interrupted ?in the middle and have junk left in the registers.
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? -- Gerald Sussman --
DENX Software Engineering GmbH, ? ? ?MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, ?Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de

_______________________________________________
U-Boot mailing list
U-Boot at lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

#8 lore raw
In reply to Gupta

Hi Ajay,

Quoted 2 lines

Actually I have ported DFU from openmoko to Denx tree and used it on OMAP3EVM. I hope it should work just fine on Beagle as well.

Excellent, congratulations!

Quoted 1 line

Will it be ok if I submit those patches to Denx's tree?

Simply post the changes on the mailing list and if the patches pass the regular review process, they will surely be integrated into mainline for everybodys benefit.

Cheers
Detlev

Signature · 8 lines
The proprietary-Unix players proved so ponderous, so blind, and so inept at
marketing that Microsoft was able to grab away a large part of their market
with the shockingly inferior technology of its Windows operating system.
                   -- "A Brief History of Hackerdom" by Eric Steven Raymond
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de
#9 lore raw
In reply to yogesh b
Quoted 6 lines

I want to make the Beagle board (with u-boot) to look like a USB Mass Storage Device when it is connected to the host PC.

Can anyone suggest
regarding the files that I need to update in u-boot code, to make the Beagle board look like a USB Mass Storage Device.

This would require to add support for MSC gadget at drivers/usb/gadget/.

You can refer kernel MSC gadget implementation at
driver/usb/gadget/g_file_storage.c for this.

-Ajay

Quoted 7 lines

Regards,
Yogesh