Being a newbie to Beagle board and software, I used the documentation pretty extensively to get going and found it helpful so I just want to state this up front!
I used both the System Reference Manual (will reference as BBSRM) and the Rev C Validation page (will reference as BRCV). Along the way, I did find a few points that would be good to correct or clarify, therefore I am providing them here. I referenced both the manual and the web page below for my bringup. Please review and determine which ones you think are needed. These are things that tripped me up a bit but they may be obvious to others. Jason suggested that I post the feedback to the general distribution list.
Feedback on http://beagleboard.org/static/BBSRM_latest.pdf (rev C30 May 6th 2009) – BBSRM
Section 12.2 step 1. If you use USB cable to power the beagle board, it would be good to explain here what to do about the Windows “Found New Hardware” Wizard that will pop up. Some mention of this is described in BRCV, but I had trouble to get this to work. More on this below in BRCV section.
Section 12.5. The steps in section 12.4 have you insert the MMCSD card. Therefore for this step, section 12.5 for factory boot verification, you need to ensure that it is removed otherwise it will boot from MMCSD. You can see this from the output provided, but would be good to list this as step 1 – remove MMCSD card.
Section 12.6. With the MMCSD card plugged in and valid NAND image, I see very little difference between holding User button and not. This is likely to be expected, but some mention of this would be helpful (i.e. if NAND image is valid, you won’t see much difference. However if NAND image gets corrupted, this is useful to force boot from SD).
Section 12.7. I found this section a little confusing. With the files downloaded according to Section 12.3, this NAND flash re-programation happens every time. So the first paragraph had me a little confused. I think it would be clearer to say that with the SD card image created in section 12.3 the NAND will always be re-programmed to the factory default. You can turn this off by changing boot.scr according to BRCV instructions (i.e. use regular script file).
Section 220.127.116.11. I had 2 problems here:
a) “cd /mmc” doesn’t exist, but I found “cd /mnt” worked and you can see MMCSD contents here (and this also reflects what is in BRCV)
b) If you try to record directly to MMCSD (i.e. /mnt/k) it seems to overrun. So I instead recorded to RAM (I posted syntax to BRCV, not sure if this is best way but it worked).
arecord -t wav -c 2 -r 44100 -f S16_LE -v …/media/ram/k
aplay -t wav -c 2 -r 44100 -f S16_LE -v …/media/ram/k
- Section 18.104.22.168 and 22.214.171.124. I found that steps 1 and 2 didn’t work (similar to issue 5 and also I think there are 2 commands glommed together “cd /mnt/mmc”)
I found that steps 1 and 2 were not needed and just proceeded to step 3 and this worked with one more correction. I found that I had to change this to event2 (which is documented in BRCV). Also, I found that which event the keyboard got mapped to depended on which order I plugged the keyboard and mouse into the USB hub. So some mention of this would be good. Note that use of the terms port1, port2, etc. are just with respect to the 1st, 2nd, 3rd ports on the hub. I don’t know if this is most accurate way to describe this or not.
mouse is connected to port1 and keyboard is connected port2, I get the following mapping:
Event0 – triton2 powerbutton
Event1 – gpio keys
Event2 – mouse
Event3 - keyboard
Event4 – keyboard extended functions
keyboard is connected to port1 and mouse is connected to port2, then I get the following mapping (which matches beagleCvalidation page instructions):
Event0 – triton2 powerbutton
Event1 – gpio keys
Event2 - keyboard
Event3 – keyboard extended functions
Event4 – mouse
- Section 126.96.36.199. I could not get this to work. The first issue was the fact that you have to connect the thumb drive to a hub and not directly to EHCI. While this is explained in other documentation that this is high speed only port, it would be helpful to mention this here. The second problem is /usb1 doesn’t exist so the mount command fails. I provided listings of relevant directories. I could do the copy using alternate directory paths “cp /mnt/u-boot.bin /media/sda1/” but not sure if this is right way.
Feedback on http://code.google.com/p/beagleboard/wiki/BeagleboardRevCValidation - BRCV
- Board Setup for Validation. I could not get steps 12 and 13 to work. There is post from someone on April 7 2009 that complains of the same thing. I copied the Linux.inf and Gserial.inf file to my PC. As I go through the install steps, it can’t find usbser.sys. With help from Jason, I installed a patch from Microsoft to install the usbser.sys. I still had some difficulties to know what to do here, so I will send you another email with detailed steps on my install process that will provide a cookbook for newbies.
Installed hotfix from windows to get usbser.sys.
then click on the link here and accept
View and request hotfix downloads
After the install it will out usbser.sys in c:\windows\system32\dllcache\ and the install process for both drivers (Gserial and Linux USB Ethernet) work fine. I will send more detailed steps for this in another email.
Continue Board Validation step 1 (Test USB as Peripheral). I could not get this to work until I fixed the problems in issue 1. above. I think more details on install or a link to a recipe on how to do this step would be helpful. There is implied link to such steps “(courtesy of Steve K)” , but I couldn’t find more details. If such a link doesn’t exist, then I can send you my detailed steps.
Continue Board Validation step 3 and 4 (MMCSD mount and Audio Record). These steps work (no syntax problems) but I run into the overrun problem that was reported as a comment and I posted what I did to make this work (similar comment as item 5 above). If this is correct, then I think the example should change or some option with the arecord utility to buffer enough to avoid the overrun. I couldn’t find any options to prevent this other than to move where the recorded output goes.
Continue Board Validation step 6. It says the test validates read/write to MMC. But I don’t quite understand. All this syntax seems to do is un-mount SD card from /mnt. Is that the purpose so you can go look at it elsewhere (e.g. /media/mmcblk0p1)? I just needed a little bit more here to figure out what was intended.
Continue Board Validation step 7 (Test USB Host Port). These examples work if I put keyboard in port1 of the hub and mouse in port2 of the hub (same issue as item 6 above). Is this to be expected? If so, some comment that the specific event number may change based on hookup would be helpful.
Continue Board Validation step 8, step 3 (To Test USB OTG as HOST using a USB Ethernet Dongle). I need some help here to explain the setup needed. I connected my Ethernet/USB hub to TI network. I had trouble pinging anything external and I don’t think there is a dhcp application in the std build provided. I need to look into this some more, but some tips/suggestions would be appreciated.
How to check EDID in u-boot. Some posted already that “ibus 2 0x64” gets and error. After changing this to ibus 2, I tried to run the next line but it didn’t work for my setup and I get a bunch of I2C errors. Some also posted about this problem as well.
How to get your DVID monitor working for different resolutions. I could get this to work after I figured out that you have to run this from uboot (and not kernel mode). This was a little confusing because the example above (arecord and aplay) expects kernel mode. It would be good to group or make explicit reference to which one is needed.
I can post comments to the Validation page, but long term it would be good for the examples to be updated. Please feel free to contact me if some of my feedback is unclear or you want me to test something else out.
The rest of the examples in both documents worked for me and I could follow them successfully.