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

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

Dear yogesh b,
In message 458375.64426.qm@web38807.mail.mud.yahoo.com 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

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 wd@denx.de wrote:
From: Wolfgang Denk wd@denx.de Subject: Re: [U-Boot] U-boot: Beagle board as a USB Mass Storage Device Class To: "yogesh b" b_yogesh_snowy@yahoo.com Cc: u-boot@lists.denx.de Date: Tuesday, June 8, 2010, 12:51 PM
Dear yogesh b,
In message 458375.64426.qm@web38807.mail.mud.yahoo.com 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

Dear yogesh b,
please stop top-posting / full-quoting; please read http://www.netmeister.org/news/learn2quote.html
In message 437292.45437.qm@web38804.mail.mud.yahoo.com 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.
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

Hi
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
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 wd@denx.de wrote:
From: Wolfgang Denk wd@denx.de Subject: Re: [U-Boot] U-boot: Beagle board as a USB Mass Storage Device Class To: "yogesh b" b_yogesh_snowy@yahoo.com Cc: u-boot@lists.denx.de Date: Tuesday, June 8, 2010, 12:51 PM
Dear yogesh b,
In message 458375.64426.qm@web38807.mail.mud.yahoo.com 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@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.

Hi,
Hi
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.
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

Hi,
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
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.
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
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@denx.de

Hi,
On Fri, Jun 11, 2010 at 10:13 PM, Gupta, Ajay Kumar ajay.gupta@ti.com wrote:
Hi,
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
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.
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
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
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@denx.de
U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot

Hi Ajay,
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!
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

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
Regards, Yogesh
participants (5)
-
Detlev Zundel
-
Gupta, Ajay Kumar
-
Kyungmin Park
-
Wolfgang Denk
-
yogesh b