This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LightCrafter in Linux

Hello,

I'm trying to connect to the LightCrafter with the mini USB cable using usbnet in Ubuntu. The LightCrafter is recognized as a usb/ethernet device, and I can ping it no problem. However, when trying to connect via SSH, I'm asked for a password and can't go any further. Is there an 'admin' password, or is it recommended to use something other than SSH to communicate with the LightCrafter?

To get an SSH public key onto the LightCrafter, I tried accessing the device by UART, which apparently connects, but doesn't get me to a useable terminal (just a blank screen).

I see from Section 2.2 in the User's Guide (DLPU006) that the LightCrafter boots from the on-board NAND FLASH, while the Linux filesystem resides on the micro-SD card. A micro-SD card didn't ship with the LightCrafter; is this what's causing the above issues (no filesystem)? To set up a filesystem, is the process similar to what's required for the BeagleBoard-xM?

Thanks for your help,

Matt

  • Matt,

    The linux system is residing on NAND flash on the shipping units. The system has the ability to boot from SD card, but we are not including a card on the production systems.

    Once booted, the LightCrafter is running an application under Linux that interprets commands received through USB. The commands are detailed on the LightCrafter DM365 Command Interface Guide on www.ti.com/dlplightcrafter page.

    Are you looking for a Linux version of the GUI?

    The UART acts as the linux console output. You can view the UART console by a terminal emulator utility like minicom with 115200 baud, 8 bit, 1 stop, no parity, no hw flow control. The LightCrafter system is hardwired with ethernet address: 192.168.1.100

    Once the systems boots up, you can type return on mini com to activate the console. You should see this type of data scroll down the minicom screen:

    -----------------------------------------------                              
             LightCrafter - NAND Boot                                            
    -----------------------------------------------                              
    &EMIFStart=0x02000000                                                        
    nand->devID=0x000000F1 nand->dataBytesPerPage=2048 nand->pagesPerBlock=64 nand-8
     u-boot  src=0x00320800                 
    nand_read block_idx=0x00000019 page_idx=0x00000001 len=0x00028000
    block=0000001A                          
    Jummping to nand bootloader             
                                            
    
    U-Boot 1.3.4 (Nov 10 2011 - 11:49:08)
    
    I2C:   ready                                                                    
    DRAM:  128 MB                                                                   
    NAND:  NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3)
    128 MiB                                                                         
    Using default environment                                                       
                                                                                    
    In:    serial                                                                   
    Out:   serial                                                                   
    Err:   serial                                                                   
    Built for LightCrafter Board                                                   
    GPIO Config NAND-WP : GPIO76 as output (1)                                      
    Ethernet PHY: GENERIC @ 0x00                                                    
    Hit any key to stop autoboot:  0                                                
                                                                                    
    NAND read: device 0 offset 0x800000, size 0x500000                              
     5242880 bytes read: OK
    
    Loading from NAND 128MiB 3,3V 8-bit, offset 0x400000
       Image Name:   Linux-2.6.32.17-davinci1
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1626180 Bytes =  1.6 MB
       Load Address: 80008000
       Entry Point:  80008000
    ## Booting kernel from Legacy Image at 80700000 ...
       Image Name:   Linux-2.6.32.17-davinci1
       Image Type:   ARM Linux Kernel Image (uncompressed)
       Data Size:    1626180 Bytes =  1.6 MB
       Load Address: 80008000
       Entry Point:  80008000
       Verifying Checksum ... OK
       Loading Kernel Image ... OK
    OK
    
    Starting kernel ...
    
    Uncompressing Linux.............................................................
    Linux version 2.6.32.17-davinci1 (pedro@ubuntu) (gcc version 4.2.4) #4 PREEMPT 1
    CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
    CPU: VIVT data cache, VIVT instruction cache
    Machine: DaVinci DM36x EVM
    Memory policy: ECC disabled, Data cache writeback
    DaVinci dm36x_rev1.2 variant 0x8
    Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 29464
    Kernel command line: mem=116M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=01
    PID hash table entries: 512 (order: -1, 2048 bytes)
    Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
    Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
    Memory: 116MB = 116MB total
    Memory: 108928KB available (3048K code, 244K data, 128K init, 0K highmem)
    SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
    Hierarchical RCU implementation.
    NR_IRQS:245
    Console: colour dummy device 80x30
    Calibrating delay loop... 147.86 BogoMIPS (lpj=739328)
    Mount-cache hash table entries: 512
    CPU: Testing write buffer coherency: ok
    DaVinci: 8 gpio irqs
    NET: Registered protocol family 16
    davinci_serial_init:97: failed to get UART2 clock
    bio: create slab <bio-0> at 0
    DM365 IPIPE initialized in Continuous mode
    vpss vpss: dm365_vpss vpss probed
    vpss vpss: dm365_vpss vpss probe success
    dm365_afew_hw_init
    ch0 default output "LCD", mode "NTSC"
    davinci_venc davinci_venc: Desired VENC clock not available
    davinci_venc davinci_venc: PLL's doesnot yield required                        k
    VPBE Encoder Initialized
    Invalid id...
    Set output or mode failed, reset to encoder default...
    LogicPD encoder initialized
    Switching to clocksource timer0_1
    musb_hdrc: version 6.0, cppi-dma, peripheral, debug=0
    musb_hdrc: USB Peripheral mode controller at fec64000 using DMA, IRQ 12
    NET: Registered protocol family 2
    IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
    TCP established hash table entries: 4096 (order: 3, 32768 bytes)
    TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
    TCP: Hash tables configured (established 4096 bind 4096)
    TCP reno registered
    NET: Registered protocol family 1
    Trying to unpack rootfs image as initramfs...
    rootfs image is not initramfs (no cpio magic); looks like an initrd
    Freeing initrd memory: 5120K
    JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
    msgmni has been set to 223
    alg: No test for stdrng (krng)
    io scheduler noop registered
    io scheduler anticipatory registered (default)
    davincifb davincifb.0: dm_vid0_fb: 1216x684x16@0,0 with framebuffer size 4050KB
    DM365 IPIPEIF probed
    imp serializer initialized
    davinci_previewer initialized
    davinci_resizer initialized
    Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
    serial8250.0: ttyS0 at MMIO 0x1c20000 (irq = 40) is a 16550A
    console [ttyS0] enabled
    serial8250.0: ttyS1 at MMIO 0x1d06000 (irq = 41) is a 16550A
    brd: module loaded
    loop: module loaded
    NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-b)
    Creating 4 MTD partitions on "davinci_nand.0":
    0x000000000000-0x000000400000 : "bootloader"
    0x000000400000-0x000000800000 : "kernel"
    0x000000800000-0x000000d00000 : "rootfs"
    0x000000d00000-0x000008000000 : "data"
    davinci_nand davinci_nand.0: controller rev. 2.3
    spi_davinci spi_davinci.0: Controller at 0xfec66000 
    g_ether gadget: using random self ethernet address
    g_ether gadget: using random host ethernet address
    usb0: MAC 6a:ca:98:4c:20:b4
    usb0: HOST MAC 56:14:db:58:c5:9d
    g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
    g_ether gadget: g_ether ready
    i2c /dev entries driver
    Linux video capture interface: v2.00
    vpfe_init
    vpfe-capture: vpss clock vpss_master enabled
    vpfe-capture vpfe-capture: v4l2 device registered
    vpfe-capture vpfe-capture: video device registered
    suresh:mt9v113_probe()
    suresh:mt9v113 mt9v113_read_reg(00)
    mt9v113 1-003c: No MT9V113 chip detected, register read ffffff87
    vpfe-capture vpfe-capture: v4l2 sub device mt9v113 register fails
    No sub devices registered
    vpfe_register_ccdc_device: DM365 ISIF
    dm365_isif: probe of dm365_isif failed with error -22
    af major#: 252, minor# 0
    AF Driver initialized
    aew major#: 251, minor# 0
    AEW Driver initialized
    Trying to register davinci display video device.
    layer=c66a0000,layer->video_dev=c66a0164
    Trying to register davinci display video device.
    layer=c66a0400,layer->video_dev=c66a0564
    davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
    watchdog watchdog: heartbeat 60 sec
    davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
    TCP cubic registered
    NET: Registered protocol family 17
    Clocks: disable unused mmcsd1
    Clocks: disable unused spi1
    Clocks: disable unused spi2
    Clocks: disable unused spi3
    Clocks: disable unused spi4
    Clocks: disable unused pwm0
    Clocks: disable unused pwm1
    Clocks: disable unused pwm2
    Clocks: disable unused pwm3
    Clocks: disable unused timer1
    Clocks: disable unused timer3
    Clocks: disable unused emac
    Clocks: disable unused voice_codec
    Clocks: disable unused asp0
    Clocks: disable unused rto
    Clocks: disable unused mjcp
    RAMDISK: gzip image found at block 0
    VFS: Mounted root (ext2 filesystem) on device 1:0.
    Freeing init memory: 128K
    init started: BusyBox v1.14.2 (2011-11-04 15:40:05 CDT)
    starting pid 916, tty '': '/etc/rcS'
    Starting System
    done.
    Welcome to
     _     _       _     _    ____            __ _            
    | |   (_) __ _| |__ | |_ / ___|_ __ __ _ / _| |_ ___ _ __ 
    | |   | |/ _` | '_ \| __| |   | '__/ _` | |_| __/ _ \ '__|
    | |___| | (_| | | | | |_| |___| | | (_| |  _| ||  __/ |   
    |_____|_|\__, |_| |_|\__|\____|_|  \__,_|_|  \__\___|_|   
             |___/                                            
    
                    DLP(R) Pico Development Platform
    Build host: ubuntu
    Built by: a0876512
    Build date: Fri, 24 Jun 2011 14:23:15 +0530
    Build tag: leopard
    Configuring network interfaces
    Starting DHCP Server ....
    Starting MyFTP Server ....
    Starting IndPico Command Handler ....
    
    Please press Enter to activate this console. Database.c:94 >> Error = FAIL
    API.c:1277 >> Error = FAIL
    API.c:287 >> Error = FAIL
    API.c:194 >> Error = FAIL
    
    

  • Pedro,

    I'd like to send the USB commands directly to the LightCrafter from my own code/scripts rather than through the GUI. The DM365 Command Interface Guide describes the packet structure and commands, but it wasn't clear to me how to send these to the LightCrafter, which is why I tried connecting to the device via SSH. I'm seeking either a terminal command similar to the bus3i2c command that worked over HDMI on the V2 Pico Projector, or access to a C-based API, such as that used to create the GUI program. Do you have any suggestions?

    Thanks,

    Matt

  • Hi Matt,

    You can communicate to the LightCrafter directly by sending API commands through USB cable. We used Perl software to achieve the same.

    Hope this helps!

    Regards,

    Divya

  • Hi Divya,

    Thanks - I've been able to make some progress in C using the libusb library.

    Will TI be making the GUI Perl source code available to developers? I think some of us could benefit by reviewing examples of the communication protocol.

    Matt

  • Hi Matt,

    I really appreciate your idea of making the GUI Perl source code available. It is in the planning state right now and might take some time to upload the examples on to the LightCrafter's website.

    Regards,

    Divya

  • Within the documentation associated with the LightCrafter there is a designated Ethernet PHY connector. Is there an associated interface board available? Is it presently supported? 

  • Stephen,

    Unfortunately, the Ethernet PHY connector is not supported currently.

    Regards,

    Divya

  • Hi,

    I have a Light-crafter and am connected via usb.  When I telnet to 192.168.1.100 I'm prompted to type a login.  I then type 'root' and enter a remote session.  I've read the documents, but am having trouble understanding how I can get images to project from the command-line.  Do I need to place my images on a micro-SD card and run them from this?  I'm on a MacOSX.  Any advice on how to project a new image through the command interface would be greatly appreciated.

    Thanks,

    Robbie

  • Hi,

    I have a LightCrafter and am connected via USB from my MacOSX computer.  When I telnet to 192.168.1.100 I'm prompted to type a login.  I then type 'root' and enter a remote session (BusyBox v1.14.2) .  I've read the documents, but am having trouble understanding how I can get images to project from the command-line.  Do I need to place my images on a micro-SD card and run them from this?   Any advice on how to project a image through the command interface would be greatly appreciated.

    Thanks - Robbie

  • Robbie,

    If you have Windows, you can find them. If you don't have Windows, I just realized that it will be difficult for you to get them. I will work on this, and get this oversight corrected.

    If you download and install (on Windows) the DLP LightCrafter Firmware and Software Package v1.1 (see http://ti.com/memshttp://www.ti.com/tool/dlplightcrafter) the GUI programs for Windows, Linux, and OSX will be copied into the directory c:\Program Files(x86)\Texas Instruments-DLP.

    Retreiev, install, and use the appropriate GUI for your OS, and you will be able to control the LightCrafter.

    Apologies for any difficulties. I will post again about this when we get a package that will be easier for Linux and OSX users.

  • Pascal,

    Thanks so much for the quick response! I've now 1) downloaded the appropriate zip on a windows computer (from  http://www.ti.com/tool/dlplightcrafter). 2) unzipped the file and found all the GUI applications. 3) placed the appropriate 'DLPLightCrafterGUI for Mac-v3.8.zip' onto an external flash drive. 4) plugged the flash drive into my mac and placed the application on my desktop. 5) tried to open the application on my macOSX (10.7.5).

    When I try to open it on a Mac I receive an error pop-up: 'LightCrafterGUI cannot be opened because of a problem.'

    Is there something I might be missing to get the application running? 

    Thanks again for all the help! - Robbie

  • Robbie,

    I apologize for the difficulty. You are seeing the same issue that I see here. It is because the QT libraries were not included with the Mac OSX GUI in the Windows installer package. I am addressing this right now, and I will get a solution for you either today, or on Monday (we have Friday - tomorrow - off). Thank you for bringing this oversight to our attention.

    I just dropped the Linux LightCrafter GUI into Linux Mint 14 and it works like a charm. I don't know (at this moment) if that is because it was built with the QT libraries, or because I have QT installed. Anyway, it works fine on my Linux.

    It already works fine on OSX, but only when you have the QT libraries!

  • Pascal - gotcha!  Thanks so much!!! Really appreciate the help!

  • Robbie,

    Your're welcome. Please give me until sometime Monday. I'll have something for you.


  • Robbie,

    I discovered what is needed on Mac OSX to run the LightCrafter GUI which is supplied in the v1.1 SW installer (for Windows).

    You must install the Qt libraries! Go to http://qt-project.org/downloads. Download and install Qt libraries 4.8.4 for Mac (185 MB) http://releases.qt-project.org/qt4/source/qt-mac-opensource-4.8.4.dmg.

    We are working on packaging the LightCrafter GUI with the required Qt libraries. That should be available in the next release of a LightCrafter SW package.

    Let me know if this works for you.

  • Pascal,

    THANK YOU VERY MUCH!!! I really appreciate you looking into this and after installing the Qt libraries - the software worked perfectly!  Thanks again!!!

    Robbie

  • Matt,

    See the earlier parts of this thread. There is a GUI to control the LightCrafter. It is included in the DLP LightCrafter Firmware and Software Package v1.1 http://www.ti.com/tool/dlplightcrafter. It must be installed under Windows in order to get at the Linux GUI. Sorry - we're working on that.

    If the GUI doesn't run (make it executable) you will need to install the Qt libraries.

    The GUI, and the API over USB (terminal) are the ways to control the LightCrafter. SSH is not used - though it is linux, so someone familiar with SSH could probably set it up on the LCr linux.

    See also: http://www.ti.com/litv/pdf/dlpu007c DLP® LightCrafter™ DM365 Command Interface Guide.

  • Robbie,

    Great! Good DMD exploring.