Status Report


My report ended Sep 14
Please see report link
Test Code Result

My report ended Sep 7            
I wrote 3 modules: ModemTest, GSMTest and SerialTest they are working in VM and Linux but when cross compile to download into 12x12 it works intermittent only SerialTest is working good. sometimes modem does not answer, I just unplug the power and plug it back and it works again. I think I need to do more reading in hardware 12x12 but don't know who I should contact, Any hardware guys to ask on USB interface. 

I thought it will easy....I try both using libc and POSIX system call which does not fix the intermittent, try the delay each AT commands.
Sometimes get 12x12 working like this morning, I  rebooted everything it works for a while then it stops working.
This is when modem talks to 12x12.  
# tftp -g -r GSMTest1 10.100.100.184
# ls GSMTest1  UbloxGSM  default
# chmod * chmod: invalid mode 'GSMTest1' 

# chmod 777 * # ls GSMTest1  UbloxGSM  default
# ./UbloxGSM opening modem
modem open 1, AT AT  (this is when it fails modem is not answering) # 

# ./GSMTest1 opening serial /bin/sh: sudo: not found 0 
Write and Read back from Serial Port 1 

Write and Read back from Serial Port ^C 
# ./UbloxGSM ATZ opening modem 
modem open 2, 
ATZ  ATZ OK (this is good when modem answers my test code) 
# ./UbloxGSM ATI opening modem 
modem open 2, 
 ATI ATI LISA-U200-01S-00   
  --------------- 
VM machine works all the times. equinox@ubuntuequinox:
~/Ctest/SerialTest$ ./ublox opening serial 0 

Write and Read back from Serial Port1 

Write and Read back from Serial Port2 
 
Write and Read back from Serial Port3   
Write and Read back from Serial Port4   
Write and Read back from Serial Port5 
Write and Read back from Serial Port6   
Write and Read back from Serial Port7   
Write and Read back from Serial Port8   
Write and Read back from Serial Port9   
Write and Read back from Serial Port10 
Write and Read back from Serial Port11 
Write and Read back from Serial Port12 
equinox@ubuntuequinox:~/Ctest/ModemTest$ 
./ublox opening modem  [sudo] password for equinox: fd =3   
modem =0x1cbb010 
modem open  Send ATZ   
ATZ OK   
equinox@ubuntuequinox:~/Ctest/ModemTest$ ./ublox ATI opening  modem fd =3 
modem =0x256f010 
modem open 
Send ATI  ATI LISA-U200-01S-00 
equinox@ubuntuequinox:~/Ctest/ModemTest$ 
./ublox ATDT opening modem  fd =3 
modem =0xde3010  modem open 
Send ATDT ATDT ERROR 
equinox@ubuntuequinox:~/Ctest/ModemTest$ ./ublox ATZ opening   
modem fd =3 
modem =0x19c4010 
modem open Send ATZ  ATZ OK 
Disonnect modem  
equinox@ubuntuequinox:~/Ctest/ModemTest$ ./ublox 
opening modem  chmod: cannot access `/dev/ttyACM0': No such file or directory 
Can't open modem: is modem connected?   
GSM  
equinox@ubuntuequinox:~/Ctest/ModemTest$  ./ublox ATM1L3D*99# opening modem fd =3  modem =0x1d07010 
modem open   
Send ATM1L3DT 
CONNECT    

  My report ended Aug 31
-          Spent a day to write the code
-          Half a day to get the new PC up and running
-          Over a day to test Ubuntu_Equinox64 this build breaks all the aspects
Build (errors) Uimage (hang & crash)
TestCode (erros)
None of them are working either can not compile or crash or hang
-          I forget about the Ubuntu_Equinox64 because it does not work I am concentrate on my modem test code. I am 2nd person gave up on the VMware image from the Realtime Group. I will finish the test code because I don’t have time to fix modem bugs, coding and testing the VMware image
-          Tom asked me to use Ubuntu_Equinox64 to test but it is impossible
-          I am now can write and read back from modem when interact with the hardware I do have a problem with their modem chip but Jury from UBlox is very helpful even UBlox provides us 7 /dev/ttyACM0-7 but we can only write to lowest port address
Talk to the modem:
tovantran@Satellite:~/Ctest$ ./ublox1
opening modem
modem open
1, ./ublox1, AT
AT
-          When you write the device drive it is not like script that all the low levels are working. Device driver is complex issue. So far, Ublox technical support is good to response my hardware problem.
-          I did write the script to test but there is no C code, it does not exist.
-          I finished the website to store all the documents with my own time without paying you can now view anytime, all the documents are converted into PDF and will add documents as needed. It is transparent to help you make your decision or conclusion.

 My report ended Aug 24.
- Need to buy VMware License for workstations (allow to configure processors and many things...), VM player is free.   - Write the test script with the system call working need  to change to system call to C code call. But there is no level of C code I need to write them
- Dig into Equinox code install VM machine 
- Read the diag code but all functions are emptied this can use as main functions call for DevMem/SPITest...
- Spent half a day and more with Hongqi to bring the second board he still still has problem with Bluetooth it does not show up on target machine. I think a hardware problem, our 12x12 has 2 USB ports but only one is showing up. He does not need 2nd USB port, he can switch to the Blue after finishing downloading the code on USB port. 
Yesterday was the worst day, finally I gave 2 log files: a good board and a bad board for him to compare and learn about syslog.from syslog we can determine that could be hardware fault. Kernel can not assign irq 59 and time out after: 
This is good USB port.
[    8.915247] bcm589x-ohci bcm589x-ohci.1: BCM589x USB-OHCI 
[    8.920886] bcm589x-ohci bcm589x-ohci.1: new USB bus registered, assigned bus number 1 
[    8.929011] bcm589x-ohci bcm589x-ohci.1: irq 59, io mem 0x000b1000 
[    8.990713] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001 
[    8.997619] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 
[    9.004868] usb usb1: Product: BCM589x USB-OHCI [    9.009444] usb usb1: Manufacturer: Linux 3.0.17 BCM589x USB-OHCI 
[    9.015558] usb usb1: SerialNumber: bcm589x 
[    9.033895] hub 1-0:1.0: USB hub found
 - So far did not get support much from therealtimegroup which it is bad, took almost a week to get the reply from Charles,  I found out that we need to do all low level device drivers for testing that are missing in main(). 
  - I will try to get their code compile from their VM machine at home, still having problem with Equinox64, see the end of the report.
- All the functions need to write in C code not script  like the rest such as : DevMem/SPITest....add new functionalists to main diag which currently empty functions. Will not finish in 1, 2 weeks, I need to know memory mapping, I/O address...of the board. -Waiting for 2 machines to do real work their image required 64-bit and supporting VT (virtualization techonology)
- The main thing is get the low level stuff to compile without errors. It seems that we have to use their VM to compile DevMem/SPITest.... because their environment. So far I can do diag in Eclipse TODO: are needed to write.  ./diag run in the target Modes auto batch combo loop normal start For more help, enter help followed by one of the modes, devices, etc. above.  E.g. help batch ? uart iUart TO DO: not implemented yet ? 3g i3g TO DO: not implemented yet The list of functions: Charles, These are my questions: I am able to login your 2 images: Ubuntu_Equinox64 and Ubuntu_Equinox from home. Cannot build on Ubuntu_Equinox64, what I need to do here:
- /media/sysbuild/software/LinuxTestSoftware/DevMem make clean  devmem2.d:1 ***missing separator. Stop Can build on Ubuntu_Equinox no problem
equinox@ubuntuequinox:~/equinox/LinuxTestSoftware$ cd DevMem equinox@ubuntuequinox:~/equinox/LinuxTestSoftware/DevMem$ ls devmem  devmem2.c  devmem2.d  devmem2.o  Makefile - memory mapping from /proc/iomem is it correct? I cannot do write using DevMem   40000000-47ffffff : System RAM   40a47000-40d0f7d7 : Kernel text   40d10000-40d5a227 : Kernel data StaticRAM for BaseAddress from the diag code are different from iomem.
- diag from your workspace is working in Eclipse, I can download into the target 12x12
# ./diag insmod: can't read '/lib/modules/3.0.17/kernel/drivers/spi/spidev.ko': No such file or directory Fri Aug 17 10:52:30 2012 Could not open SPI, Error ffffffff Error: Unknown error -1 ? It calls 3.0.17 instead of 3.2 on Ubuntu 12.04(kernel 3.2) this is I don’t know. All the functions in diag are not implemented so I added TODO list as you can see. For more help, enter help followed by one of the modes, devices, etc. above.  E.g. help batch ? uart iUart TO DO: not implemented yet ? 3g i3g TO DO: not implemented yet My question is the main() in diag will integrate and calling all the tests in LinuxTestSoftware plus WAN /Bluetooth. Is it correct? Because I have an impression those low level testing are done, I just write script to call them. But from your email and from the code, this is not the case. These are functions in main() are not implemented - 3g. Buzz, Blue, Cpu, Ddr, Keypad, Lan, Lcd, MfdBuzz, IMfdlcd, MfdPrinter, Modem, Nand, Rtc, Sd, Snor, SSram, Sram, Touch, Uart, Usb. These are the tests in equinox@ubuntuequinox:~/equinox/LinuxTestSoftware$ ls Common  DevMem  GPIOTest  SimpleCOM  SnorTest  SPItest  SramTest Can you clarify on this from your email that the Blue and Modem need to have first. NOTE: Modem has 2 problems on ubuntu12.04 Kernel 3.2 when I test it: -   pppd died with exit 2 on ubuntu 12.04 ( I don’t have the time to fix it) -    - ppp does not replace default route on ubuntu 12.04 This is bug#608372         https://bugs.launchpad.net/ubuntu/+source/ppp/+bug/608372 It seems working now before after connected I cannot even ping Now I can ping at least IP address and sometimes the DNS does not work and sometimes it works.
Update since last night, I cannot make from Ubuntu_Equinox64 from /LinuxTestSoftware devmem2.d ***missing separator *** I took devmem2.c source from /LinuxTestSoftware and using Eclipse create a project and setup for cross compiler as same as I did with diag. change name to DevMem2 and it works after compiling I uploaded to target. DevMem2  default # ./DevMem2 Usage:  ./DevMem2 { address } [ type [ data ] ]         address : memory address to act upon         type    : access operation type : [b]yte, [h]alfword, [w]ord         data    : data to be written # ./DevMem2 0x40000001 b 0x55 /dev/mem opened. Memory mapped at address 0x40140000. Value at address 0x40000001 (0x40140001): 0x5F Written 0x55; readback 0x55 --------------------------------------------------------------------------
Please reference the attached 12x12 Hardware Bringup and Test Instructions. The user and password to the VM (equinox - equinox123) are in the document along with what is required to get the 12x12 up and running with Linux as built in the VM environment.  This document was delivered previously. That document should also shed light on some of the issues you have inquired about previously - such as why we run a Linux VM inside Windows 7.  The simple reason is that the only supported mechanism to currently to boot the hardware is via USB OTG.  The driver and tools required to get UBoot (the current 12x12 bootloader) up and running via USB OTG are native to Windows. Therefore, it makes sense to have a Linux VM that has a working environment for the build, while using the Windows host to bring the board up.  The VM provides both TFTP and NFS for the Kernel and RootFS. The build environment is buildroot based.  It is cloned from the customer's repository and is ultimately what we need to compliment in our development efforts.  I have verified prior to delivering the VM that the environment works and will bring up Linux on the 12x12.  This same activity was performed with Alex in person prior to delivering his VM.  I don't know exactly why he started running into issues, but he was able to get a new build environment up and running faster than worrying about what was broken. That action however, has created a little more work in that there are at least a couple of packages that need to be brought into the customer's buildroot to support the WWAN / Bluetooth modules.  The intent is for your team in Canada to perform those actions and develop test facilities around those devices.  The test and diagnostics source code that was delivered previously is the framework where those tests should be integrated. Please let me know if there are any other roadblocks so we can resolve them ASAP. Thank you,


My report ended Aug 17.

- Look into VMware I only work with Virtualbox
- Fixing bugs that ALex left on 12x12
- Read diagnostic specs install diagnostic code into Eclipse compiled and would not run there is not much in Diagnostic code anyway.
- Thinking about migration and merge code from US and here together for the future
- Recommend to build the 2 systems with dual boot 64-bit
- Compile Alex code with Ubuntu 12.4 (Kernel 3.2) and downloaded into the target, he was using 3.0 kernel won't work in Ubuntu 12.04 because 12.04 release is Kernel 3.2
- Set the target up
- Emailed and talked to Alex
- One more bug after the connection, the ppp call is dropped with the reason code: the pppd died with exit 2 Exit 2: An error was detected in processing the options given, such as two mutually exclusive options being used.
- Plan to use the existing diagnostic code converts it to CGI and using PHP to call it, can run in any Apache server and the sky is the limit with LAMP (Linux Apache MySQL and PHP). For now, I will use bashrc script to finish as requested. - Questions and thinking....emails reports thanks,