• Join
  • Sign In with my.TI Login
Texas Instruments
  • Products
  • Applications
  • Tools & Software
  • Support & Community
  • Sample & Buy
  • About TI
Sample & Purchase Cart Sample & Purchase Cart
  • Search
  • Advanced
TI E2E™ Community
  • Support Forums
  • Blogs
  • Groups
  • Videos
  • 简体中文
  • More ...
TI Home » TI E2E Community » Support Forums » Embedded Software » Android » Android forum » How to get USB stick mounted and unmounted in android 2.3.4 on BeagleBoard-xm using init.rc?
Share
Android
  • Forum
Options
  • Subscribe via RSS

How to get USB stick mounted and unmounted in android 2.3.4 on BeagleBoard-xm using init.rc?

How to get USB stick mounted and unmounted in android 2.3.4 on BeagleBoard-xm using init.rc?

This question is answered
Mahaboob Aslam
Posted by Mahaboob Aslam
on Apr 20 2012 07:58 AM
Intellectual330 points

HI

What i am doing:

I am successfully able to mount my USB stick on Android 2.3.4 on Beagleboard-xm using this code from the following link.

http://processors.wiki.ti.com/index.php/Android_Developer_FAQs#Q:_How_to_get_USB_stick_installed.C2.A0.3F_How_to_install_apk_residing_on_USB_stick.C2.A0.3F

=====================================================================================================================================

Q: How to get USB stick installed ? How to install apk residing on USB stick ?

Ans: :
a) In the init.rc file do the following changes as shown with '+' sign (patch)

# mount sdcard third partition on /part-3
mkdir /part-3
+ mkdir /usbmountd
mount vfat /dev/block/mmcblk0p3 /part-3/

# mount mtd partitions
@@ -361,6 +369,9 @@
on property:persist.service.adb.enable=0
stop adbd

+on device-added-/dev/block/sda
+ service usbmountd /system/bin/usbmountd start
+
service servicemanager /system/bin/servicemanager
user system
critical

b) Create a new file /system/bin/usbmountd and copy the below

 #!/system/bin/sh

case "$1" in
"start")
mount -t vfat /dev/block/sda1 /usbmountd
 ;;
"stop")
sync
umount /dev/block/sda1
 ;;
*)
echo "$0: unknown argument $1." >&2;
 ;;
esac

Make sure that /system/bin/usbmountd has executable permissions

c) Use the Filemanager app#http://openintents.googlecode.com/files/FileManager-1.1.4.apk,when you browse the USB folder, it should show the .apk file, just click on this, it will install the application on the device directly.

==================================================================================================================================

using this i am able to browse through my "USB Stick" which i have mounted on Android 2.3.4 on Beagleboard-xm

THE PROBLEM:

The problem started when i remove and the USB stick and again i inserted the USB Stick i am not able to browse the through the files in the USB stick and get the message

"No files in the folder"

by seeing the above patch code, i added the following in the "init.rc " file.

===============================================================================================================================

on device-removed-/dev/block/sda
service usbmountd /system/bin/usbmountd stop


==============================================================================================================================

so that the stop case in the "usbmountd" get executed to get the umount the USB stick.


even after adding the above code in init.rc file i am not able to mount the USB stick on the device when i reinsert the usb.


I am looking for a solution when i remove the USB Stick, the Android OS should unmount the it automatically and when i insert the USB Stick it should get mounted.

Please help me out in getting a solution.


Regards
Aslam
android USB mass storage devkit GingerBread_2_3_4_DevKit_2_1 BeagleBoard-XM Android
Report Abuse
  • Reply
You have posted to a forum that requires a moderator to approve posts before they are publicly available.
All Replies
  • Pankaj Bharadiya
    Posted by Pankaj Bharadiya
    on Apr 20 2012 11:44 AM
    Verified Answer
    Verified by Mahaboob Aslam
    Expert4320 points

    Hi Aslam,

    You need to add entry in vold.fstab file so that volume deamon (vold) can mount and unmount mass storage device automatically.

    Please refer to below porting guide for more details.

    http://processors.wiki.ti.com/index.php/TI-Android-GingerBread-2.3.4-DevKit-2.1_PortingGuides#Mass_storage

    Regards,

    Pankaj Bharadiya

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mahaboob Aslam
    Posted by Mahaboob Aslam
    on Apr 24 2012 02:05 AM
    Intellectual330 points

    Hi Pankaj

    Good Morning !

    The answer which u had provide was really helpful.

    Regards

    Aslam

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mahaboob Aslam
    Posted by Mahaboob Aslam
    on Apr 24 2012 02:16 AM
    Intellectual330 points

    Dear Pankaj,

    I am facing another issue apart from this , could you please provide me some inputs or support to solve this issue.

    The issue is:

     I am customizing Android 2.3.4 on Beagleboard-xm,

    I have change the resolution of the screen of android to 1280 X 720 successfully.

    When i am browse through the following url: www.youtube.com
      and select a video from the youtube.com to play on the browser i see that video is playing in the Portrait format on the Left side of the screen.

    Playing video in Portrait format not only happens in Browser but also when i play a video file with the media player.

    I want a solution for :

    I want to display or play the video  in "Landscape format" in the center of the screen when i play in browser  from youtube or from any other site or from any other media player.


    With this i am sending a screen shot of the problem attached.

    I would be thankful if you suggest any solution for this.

    Regards

    Aslam



    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Pankaj Bharadiya
    Posted by Pankaj Bharadiya
    on Apr 24 2012 04:26 AM
    Expert4320 points

    Hi Aslam,

    Overlay is used for video rendering. In overlay coed LCD width and height parameters are hardcoded to for time being.

    Please change following width and height parameter macors as per your resolution in /hardware/ti/omap3/liboverlay/overlay.cpp file and try again.

    #define LCD_WIDTH

    #define LCD_HEIGHT

    Regards,

    Pankaj Bharadiya

    PS: Please mark this post as answered via the Verify Answer button below if you think it answers your question.  Thanks!

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mahaboob Aslam
    Posted by Mahaboob Aslam
    on Apr 30 2012 04:43 AM
    Intellectual330 points

    Dear Pankaj

    Thanks for the solution for screen overlay problem, The link you sent was helpful.

    I have an other problem now which is as follows.

    What i am doing:

    In android 2.3.4 on Beagleboard-xm , i have changed the boot.scr file for changing the system boot arguments of  memory from mem=256M to mem=512M as follows.

    FROM:

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=256M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60'

    TO:

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=512M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60'

    when i make a change like the above in TO: mem=512M the system doesn't boot at all.

    I have this log information which i had taken during booting process which i am pasting below:

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                                                 LOGFILE

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Texas Instruments X-Loader 1.51 (Apr  3 2012 - 12:40:00)
    Unsupported Chip!
    Beagle xM Rev C
    Starting X-loader on MMC
    Reading boot sector

    218792 Bytes Read from MMC
    Starting OS Bootloader from MMC...
    Starting OS Bootloader...


    U-Boot 2010.06 (Apr 20 2012 - 17:27:48)

    OMAP34xx/35xx-GP ES2.1, CPU-OPP2 L3-165MHz
    OMAP3 Beagle board + LPDDR/NAND
    DRAM:  384 MiB
    NAND:  HW ECC [Kernel/FS layout] selected
    0 MiB
    *** Warning - bad CRC or NAND, using default environment


    mmc1 is available
    reading boot.scr

    490 bytes read
    Running bootscript from mmc ...
    ## Executing script at 82000000
    reading uImage

    2922144 bytes read
    ***** Kernel: /dev/mmcblk0p1/uImage *****
    ***** RootFS: /dev/mmcblk0p2 *****
    ## Booting kernel from Legacy Image at 82000000 ...
       Image Name:   Linux-2.6.37-g06ebbba
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2922080 Bytes = 2.8 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Booting process fails after printing the following:

    Uncompressing Linux... done, booting the kernel.

    I am looking :

    How to increase the system memory from 256M to 521M on beagleboard-xm for android 2.3.4 by change the boot arguments in boot.src file as follows:

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=512M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60'

    if there is any other process of changing the system memory from 256M to 512M please guide us with the documentation.

    I would be thankful to you .

    Regards

    Aslam.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mahaboob Aslam
    Posted by Mahaboob Aslam
    on Apr 30 2012 05:04 AM
    Intellectual330 points

    Dear Pankaj

    Thanks for the solution for screen overlay problem, The link you sent was helpful.

    I have an other problem now which is as follows.

    What i am doing:

    In android 2.3.4 on Beagleboard-xm , i have changed the boot.scr file for changing the system boot arguments of  memory from mem=256M to mem=512M as follows.

    FROM:

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=256M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60'

    TO:

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=512M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60'

    when i make a change like the above in TO: mem=512M the system doesn't boot at all.

    I have this log information which i had taken during booting process which i am pasting below:

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

                                                 LOGFILE

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Texas Instruments X-Loader 1.51 (Apr  3 2012 - 12:40:00)
    Unsupported Chip!
    Beagle xM Rev C
    Starting X-loader on MMC
    Reading boot sector

    218792 Bytes Read from MMC
    Starting OS Bootloader from MMC...
    Starting OS Bootloader...


    U-Boot 2010.06 (Apr 20 2012 - 17:27:48)

    OMAP34xx/35xx-GP ES2.1, CPU-OPP2 L3-165MHz
    OMAP3 Beagle board + LPDDR/NAND
    DRAM:  384 MiB
    NAND:  HW ECC [Kernel/FS layout] selected
    0 MiB
    *** Warning - bad CRC or NAND, using default environment


    mmc1 is available
    reading boot.scr

    490 bytes read
    Running bootscript from mmc ...
    ## Executing script at 82000000
    reading uImage

    2922144 bytes read
    ***** Kernel: /dev/mmcblk0p1/uImage *****
    ***** RootFS: /dev/mmcblk0p2 *****
    ## Booting kernel from Legacy Image at 82000000 ...
       Image Name:   Linux-2.6.37-g06ebbba
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    2922080 Bytes = 2.8 MiB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK

    Starting kernel ...

    Uncompressing Linux... done, booting the kernel.

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    Booting process fails after printing the following:

    Uncompressing Linux... done, booting the kernel.


    I have generated this boot.scr file by using mkbootscr to generate the boo.scr file with mem=512M

    I am looking for :

    How to increase the system memory from 256M to 521M on beagleboard-xm for android 2.3.4 by change the boot arguments in boot.src file as follows:

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=512M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60'

    if there is any other process of changing the system memory from 256M to 512M please guide us with the documentation.

    I would be thankful to you .

    Regards

    Aslam.

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Vishveshwar Bhat
    Posted by Vishveshwar Bhat
    on Apr 30 2012 05:44 AM
    Verified Answer
    Verified by Mahaboob Aslam
    Genius9580 points

    There were some patches pushed to our rowboat project to fix this issue. Please update to the latest u-boot sources.

    http://gitorious.org/rowboat/u-boot/commits/OMAPPSP_04.02.00.07

    ---------------------------------------------------------------------------------------------------------

    Please click the Verify Answer button on this post if it answers your question.
    ---------------------------------------------------------------------------------------------------------

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Mahaboob Aslam
    Posted by Mahaboob Aslam
    on May 01 2012 01:03 AM
    Intellectual330 points

    Dear Pankaj and Vishveshwar

    Thanks for the solution of increasing system memory  problem, The dump downloaded from the link  you had sent was handy.

    I have an other problem now which is as follows.

    What i am working on:

    As you know i am working on BeagleBoard-xm Rev C board with Android 2.3.4 which has a DM37x mounted on it, Processor speed is +1Ghzs, i have a serial port connected to the system, when i try to find out the processor speed  by typing the following command:

                  # cat /proc/cpuinfo

    I see the following log infomation.


    Processor       : ARMv7 Processor rev 2 (v7l)
    BogoMIPS        : 597.64
    Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3
    CPU implementer : 0x41
    CPU architecture: 7
    CPU variant     : 0x3
    CPU part        : 0xc08
    CPU revision    : 2

    Hardware        : OMAP3 Beagle Board
    Revision        : 0020
    Serial          : 0000000000000000
    # usb 1-2.2: USB disconnect, address 4

    looking at the above log we can make out that "BogoMIPS   : 597.64" where it shows that processor is not working at full fledge 1Ghzs frequency instead it is working at 597.64 Mhzs frequency.

    The reason why i am asking for this is for the following reason below:

    when i play a video from "Youtube.com" portal the video is not playing consistantly, smoothly and contineously or with jurks.

    To solve this issue i have added one of the bootarguments in the boot.scr as follows"

    setenv bootargs 'console=ttyO2,115200n8 androidboot.console=ttyO2 mem=512M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init ip=off omap_vout.vid1_static_vrfb_alloc=y vram=8M omapfb.vram=0:8M omapfb.mode=dvi:1280x720MR-24@60 mpurate=1000'

    by running mkbootscr file.

    Adding this mpurate=1000 didnt solve the issue and found in the log that it speed of the processor was at the same value which was before adding this.

    What i am looking for:

    Could you please guide a solution by which  i can make the Beagleboard-xm Rev C to work efficiently at rated speed of 1Ghzs.

    Or please guide me if any patch has to be installed to fix this problem so that the system works at 1Ghzs speed.

    Making this system work at rated speed of 1Ghzs will allow the system to play any online videos from the youtube.com like protals efficiently and smoothly.

    Regards
    Aslam

    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
  • Wenjie Gong
    Posted by Wenjie Gong
    on Aug 23 2012 22:08 PM
    Prodigy10 points

    I am working on Rowboat JellyBean for BeagleBoard xM. u-boot has the patch and I modified 'mem' from 256M to 512M in boot.scr.  But I cannot boot the kernel, and hang up here "Uncompressing Linux... done, booting the kernel".

    So I called mem_ok() to check the RAM in dram_init() in u-boot.

    /********************************************************
     *  mem_ok() - test used to see if timings are correct
     *             for a part. Helps in guessing which part
     *             we are currently using.
     *******************************************************/
    u32 mem_ok(u32 cs)
    {
        u32 val1, val2, addr;
        u32 pattern = 0x12345678;

        addr = OMAP34XX_SDRC_CS0 + get_sdr_cs_offset(cs);

        writel(0x0, addr + 0x400);    /* clear pos A */
        writel(pattern, addr);        /* pattern to pos B */
        writel(0x0, addr + 4);        /* remove pattern off the bus */
        val1 = readl(addr + 0x400);    /* get pos A value */
        val2 = readl(addr);        /* get val2 */

        if ((val1 != 0) || (val2 != pattern))    /* see if pos A val changed */
            return 0;
        else
            return 1;
    }

    And mem_ok() return 0, so I doubt  that the address 256M~512M RAM is not configured correctly.

    I also checked init DDR codes in config_3430sdram_ddr() in x-loader, I did not find the problem.

    So Could you test the RAM with mem_ok() on your BeagleBoard xM?

    Thanks!

    am/dm37xx beagleboard RAM
    Report Abuse
    • Reply
    You have posted to a forum that requires a moderator to approve posts before they are publicly available.
TI E2E™ Community
  • Support Forums
  • Blogs
  • Videos
  • Groups
  • Site Support & Feedback
  • Settings
TI E2E™ Community Groups
  • TI University Program
  • Make the Switch
  • Microcontroller Projects
  • Motor Drive & Control
Other Communities
  • Deyisupport
  • Designsomething.org
  • beagleboard.org
  • TI on Element 14
  • TI on TechXchangeSM
Other Technical & Support Resources
  • WEBENCH® Design Center
  • Product Information Centers
  • Technical Documents
  • TI Design Network
  • TI Technical Articles
  • TI Training

All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.

Content on this site may contain or be subject to specific guidelines or limitations on use. All postings and use of the content on this site are subject to the Terms of Use of the site; third parties using this content agree to abide by any limitations or guidelines and to comply with the Terms of Use of this site. TI, its suppliers and providers of content reserve the right to make corrections, deletions, modifications, enhancements, improvements and other changes to the content and materials, its products, programs and services at any time or to move or discontinue any content, products, programs, or services without notice.

Follow Us Texas Instruments on Facebook Texas Instruments on Twitter Texas Instruments on LinkedIn Texas Instruments on Google+
TI Worldwide | Contact Us | my.TI Login | Site Map | Corporate Citizenship | mobile m.ti.com (Mobile Version)

TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs and
embedded processors, along with software, tools and the industry’s largest sales/support staff.

© Copyright 1995-2013 Texas Instruments Incorporated. All rights reserved.
Trademarks | Privacy Policy | Terms of Use