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.

OMAPL138 network connection issues

Other Parts Discussed in Thread: OMAPL138, OMAP-L138, DA8XX, PMP

Hello,

I'm having issues connecting over a network to a server's IP address using the OMAPL138 but am able to ping various websites. We used the client side on other devices and it functioned properly but have been unable to resolve the issue with this hardware.

I've attached the boot info below:

Booting with TI UBL
Device OPP (300MHz, 1.2V)

U-Boot 2010.12 (Dec 23 2011 - 11:22:43)

I2C: ready
DRAM: 128 MiB
MMC: davinci: 0
SF: Detected M25P64 with page size 256, total 8 MiB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
ARM Clock : 300000000 Hz
DDR Clock : 132000000 Hz
SF: Detected M25P64 with page size 256, total 8 MiB
Net: Ethernet PHY: GENERIC @ 0x00
DaVinci-EMAC
Hit any key to stop autoboot: 0
reading boot.scr

248 bytes read
## Executing script at c0600000
reading uImage

2315152 bytes read
## Booting kernel from Legacy Image at c0700000 ...
Image Name: Arago/2.6.37-psp03.21.00.04.sdk/
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2315088 Bytes = 2.2 MiB
Load Address: c0008000
Entry Point: c0008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 2.6.37 (a0876316@bangdvsdkdev01) (gcc version 4.3.3 (GCC) ) #1 PREEMPT Fri Dec 23 11:12:57 IST 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: DaVinci DA850/OMAP-L138/AM18x EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci da850/omap-l138/am18x variant 0x1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 24320
Kernel command line: console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw ip=off mem=32M@0xc0000000 mem=64M@0xc4000000 rootwait
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: 32MB 64MB = 96MB total
Memory: 92492k/92492k available, 5812k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xff000000 - 0xffe00000 ( 14 MB)
vmalloc : 0xc8800000 - 0xfea00000 ( 866 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0032000 ( 168 kB)
.text : 0xc0032000 - 0xc047e000 (4400 kB)
.data : 0xc047e000 - 0xc04a8980 ( 171 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptable hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:245
Console: colour dummy device 80x30
Calibrating delay loop... 149.50 BogoMIPS (lpj=747520)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
DaVinci: 144 gpio irqs
regulator: core version 0.5
regulator: dummy:
NET: Registered protocol family 16
WARNING: both McASP and McBSP are enabled, but they share pins.
Only McASP will work. If you want McBSP support, disable McASP.
WARNING: both McASP and UART1_AFE are enabled, but they share pins.
Disable one of them.
da850_evm_init: eHRPWM module 0 cannot be used since it is being used by MII interface
da850_evm_init: eHRPWM module1 outputA cannot be used since it is being used by LCD
da850_evm_init: eHRPWM module1 outputB cannot be used since it is being used by spi1
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
pca953x 1-0020: failed reading register
pca953x 1-0021: interrupt support not compiled in
regulator: VDCDC1: 3200 <--> 3300 mV at 3300 mV
regulator: VDCDC2: 1750 <--> 3300 mV at 3300 mV
regulator: VDCDC3: 950 <--> 1350 mV at 1200 mV
regulator: LDO1: 1800 mV
regulator: LDO2: 1150 <--> 1300 mV at 1200 mV
i2c-gpio i2c-gpio.1: using pins 20 (SDA) and 21 (SCL)
Advanced Linux Sound Architecture Driver Version 1.0.23.
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Switching to clocksource timer0_1
musb-hdrc: version 6.0, host, debug=0
musb-hdrc musb-hdrc: dma type: dma-cppi41
Waiting for USB PHY clock good...
musb-hdrc musb-hdrc: MUSB HDRC host driver
musb-hdrc musb-hdrc: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
musb-hdrc musb-hdrc: USB Host mode controller at fee00000 using DMA, IRQ 58
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
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
EMAC: MII PHY configured, RMII PHY will not be functional
McBSP:Probed McBSP1
JFFS2 version 2.2. (NAND) �© 2001-2006 Red Hat, Inc.
msgmni has been set to 180
io scheduler noop registered (default)
da8xx_lcdc da8xx_lcdc.0: GLCD: Found Sharp_LK043T1DG01 panel
Console: switching to colour frame buffer device 60x34
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1c42000 (irq = 25) is a AR7
serial8250.0: ttyS1 at MMIO 0x1d0c000 (irq = 53) is a AR7
serial8250.0: ttyS2 at MMIO 0x1d0d000 (irq = 61) is a AR7
console [ttyS2] enabled
brd: module loaded
at24 1-0050: 32768 byte 24c256 EEPROM (writable)
ahci ahci: forcing PORTS_IMPL to 0x1
ahci ahci: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
ahci ahci: flags: ncq sntf pm led clo only pmp pio slum part ccc
scsi0 : ahci_platform
ata1: SATA max UDMA/133 mmio [mem 0x01e18000-0x01e19fff] port 0x100 irq 67
spi_davinci spi_davinci.1: DMA: supported
spi_davinci spi_davinci.1: DMA: RX channel: 18, TX channel: 19, event queue: 0
m25p80 spi1.0: m25p64 (8192 Kbytes)
Creating 6 MTD partitions on "m25p80":
0x000000000000-0x000000010000 : "UBL"
0x000000010000-0x000000090000 : "U-Boot"
0x000000090000-0x0000000a0000 : "U-Boot-Env"
0x0000000a0000-0x000000320000 : "Kernel"
0x000000320000-0x000000720000 : "Filesystem"
0x0000007f0000-0x000000800000 : "MAC-Address"
Read MAC addr from SPI Flash: 00:08:ee:06:8e:2f
spi_davinci spi_davinci.1: Controller at 0xfef0e000
davinci_mdio davinci_mdio.0: davinci mdio revision 1.5
davinci_mdio davinci_mdio.0: detected phy mask fffffffe
davinci_mdio.0: probed
davinci_mdio davinci_mdio.0: phy[0]: device 0:00, driver SMSC LAN8710/LAN8720
console [netcon0] enabled
netconsole: network logging started
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
ohci ohci.0: DA8xx OHCI
ohci ohci.0: new USB bus registered, assigned bus number 2
Waiting for USB PHY clock good...
ohci ohci.0: irq 59, io mem 0x01e25000
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
input: gpio-keys-polled as /devices/platform/gpio-keys-polled.1/input/input0
input: TPS6507x Touchscreen as /devices/platform/i2c-gpio.1/i2c-1/1-0048/input/input1
omap_rtc omap_rtc: rtc core: registered omap_rtc as rtc0
ata1: SATA link down (SStatus 0 SControl 300)
omap_rtc: RTC power up reset detected
i2c /dev entries driver
watchdog watchdog: heartbeat 60 sec
Bluetooth: HCI UART driver ver 2.2
Bluetooth: HCI H4 protocol initialized
Bluetooth: HCILL protocol initialized
cpuidle: using governor ladder
cpuidle: using governor menu
davinci_mmc davinci_mmc.0: Using DMA, 4-bit mode
davinci_mmc davinci_mmc.1: Using DMA, 4-bit mode
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
1-0018 supply IOVDD not found, using dummy regulator
1-0018 supply DVDD not found, using dummy regulator
1-0018 supply AVDD not found, using dummy regulator
1-0018 supply DRVDD not found, using dummy regulator
asoc: tlv320aic3x-hifi <-> davinci-mcasp.0 mapping ok
ALSA device list:
#0: DA850/OMAP-L138 EVM
nf_conntrack version 0.5.0 (1445 buckets, 5780 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
TCP cubic registered
NET: Registered protocol family 17
Bluetooth: L2CAP ver 2.15
mmc0: new high speed SDHC card at address b368
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
mmcblk0: mmc0:b368 14.9 GiB
Bluetooth: RFCOMM TTY layer initialized
mmcblk0: p1 p2
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
regulator_init_complete: incomplete constraints, leaving LDO2 on
regulator_init_complete: incomplete constraints, leaving LDO1 on
regulator_init_complete: incomplete constraints, leaving VDCDC3 on
regulator_init_complete: incomplete constraints, leaving VDCDC2 on
regulator_init_complete: incomplete constraints, leaving VDCDC1 on
omap_rtc omap_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
EXT3-fs: barriers not enabled
EXT3-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
kjournald starting. Commit interval 5 seconds

EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
Freeing init memory: 168K
INIT: version 2.86 booting
Please wait: booting...
Starting udev
udevd (605): /proc/605/oom_adj is deprecated, please use /proc/605/oom_score_adj instead.
udev: starting version 141
Remounting root file system...
Caching udev devnodes
Populating dev cachemv: cannot rename '/tmp/devices': No such file or directory
NET: Registered protocol family 10
logger: mount: mount point /proc/bus/usb does not exist
ALSA: Restoring mixer settings...
Configuring network interfaces... Found hardware: "" "" "" "" ""
Hardware is initialized using a generic method
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #3 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #4 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #5 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #6 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #7 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #8 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #9 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #11 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #12 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #13 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #15 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #16 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #17 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #18 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #19 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #21 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #22 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #23 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #24 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #29 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #30 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #31 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #32 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #33 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #34 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #35 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #36 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #37 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #38 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #39 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #40 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #41 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #42 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #43 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #44 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #45 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #46 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #47 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #48 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #49 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #50 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #51 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #52 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #70 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #71 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #72 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #73 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #74 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #77 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #78 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #79 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #80 (No such file or directory)
/usr/sbin/alsactl: set_control:1267: failed to obtain info for control #81 (No such file or directory)
davinci_mdio davinci_mdio.0: resetting idled controller
net eth0: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=0:00, id=7c0f1)
ADDRCONF(NETDEV_UP): eth0: link is not ready
net eth0: DaVinci EMAC: ioctl not supported
eth0 no wireless extensions.

udhcpc (v1.13.2) started
Sending discover...
PHY: 0:00 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sending discover...
Sending select for 172.31.79.20...
Lease of 172.31.79.20 obtained, lease time 90
adding dns 10.64.16.30
adding dns 10.64.16.29
done.
Setting up IP spoofing protection: rp_filter.
Fri Dec 23 12:42:00 UTC 2011
INIT: Entering runlevel: 5
Starting system message bus: dbus.
Starting Dropbear SSH server: dropbear.
Starting telnet daemon.
Starting network benchmark server: netserver.
Starting syslogd/klogd: done
Starting thttpd.
CMEMK module: built on Dec 23 2011 at 12:04:44
Reference Linux version 2.6.37
File /datalocal/DVSDK43_HPDL380G7/arago-tmp/work/da850-omapl138-evm-arago-linux-gnueabi/ti-linuxutils-1_2_26_02_05-r57d/linuxutils_2_26_02_05/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
CMEM Range Overlaps Kernel Physical - allowing overlap
CMEM phys_start (0xc2000000) overlaps kernel (0xc0000000 -> 0xc6000000)
allocated heap buffer 0xc9000000 of size 0x1200000
heap fallback enabled - will try heap if pool buffer is not available
cmemk initialized
DSPLINK Module (1.65.01.05_eng) created on Date: Dec 23 2011 Time: 12:07:46

  • Hi,

    can you post how you are trying to connect to the server. And please post the output of:

    cat /etc/resolv.conf

    ifconfig

    route

  • Here is the test code that we've been using to confirm we can receive data:

    void* clientBufferThread(void* args) // thread for buffering data from and to server
    {

    char* ipAddrIn;
    int ipAddrInLength;
    int sockfd;
    int n;
    char recvBuff[1024]; /* define receive data packet size */
    struct sockaddr_in serv_addr; /* create socket address structure */

    sockfd = 0;

    n = 0; /* initialize socket file descriptor, and read function status variable */

    printf("IP address from args: %s\n", (char*)args);

    ipAddrInLength = strlen((char*)args);

    printf("IP address length: %d\n", ipAddrInLength);

    ipAddrIn = new char[ipAddrInLength+1]; // allocate enough memory for the size of the modType cstring

    strcpy (ipAddrIn,(char*)args); // copy the args to the input IP Address

    printf("IP address from ipAddrIn: %s\n", ipAddrIn);


    memset(recvBuff, '0',sizeof(recvBuff)); /* initialize the receive buffer to zeros */

    if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) /* create socket */
    {

    fprintf(stderr,"Error : Could not create socket \n");
    abort();

    }

    memset(&serv_addr, '0', sizeof(serv_addr)); /* clear socket address (set to zero) */

    serv_addr.sin_family = AF_INET; /* Internet address protocol family */
    serv_addr.sin_port = htons(80); /* convert port 80 from host to network byte order */

    if(inet_pton(AF_INET, ipAddrIn, &serv_addr.sin_addr)<=0) /* convert input address from text to binary form */
    {

    fprintf(stderr,"inet_pton error occured\n");
    abort();

    }

    fprintf(stderr,"Address of server: %s\n",inet_ntoa(*(struct in_addr *)&serv_addr.sin_addr)); /* print address to verify correct assignment */

    if( connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) /* connect to server at input address */
    {

    fprintf(stderr,"Error : Connect Failed \n");
    abort();

    }

    fprintf(stderr,"Connected.\n");

    while ( (n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0) /* read data from server, as long as the number of read bytes is non-zero */
    {

    fprintf(stderr,"In while loop.\n");
    recvBuff[n] = 0;
    if(fputs(recvBuff, stdout) == EOF) /* print to stdout, check if EOF */
    {

    fprintf(stderr,"Error : Fputs error\n");

    }

    }

    if(n < 0)
    {

    fprintf(stderr,"Read error \n");

    }


    return NULL;

    }

    Here is the ifconfig output:

    root@arago:~# ifconfig                                  
    eth0      Link encap:Ethernet  HWaddr 00:08:EE:06:8E:2F  
              inet addr:172.31.79.20  Bcast:255.255.255.255  Mask:255.255.255.128
              inet6 addr: fe80::208:eeff:fe06:8e2f/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:284 errors:0 dropped:6 overruns:0 frame:0
              TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:42429 (41.4 KiB)  TX bytes:10752 (10.5 KiB)
              Interrupt:33 
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    Output of cat /etc/resolv.conf
    root@arago:~# cat /etc/resolv.conf
    search usask.ca
    nameserver 10.64.16.30
    nameserver 10.64.16.29
    Output of route
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    172.31.79.0     *               255.255.255.128 U     0      0        0 eth0
    default         172.31.79.1     0.0.0.0         UG    0      0        0 eth0
  • We thought it might have been a firewall issue with the university so we instead tried to connect on a LAN. The board will connect and i/o data with server code that accepts incoming connections but will not work trying to connect to a server. For now we have found a work around but if anyone has an idea as to why this is the case we'd be curious to what the issue is.

  • So, you are saying the connection does work to a started server in a local network, but not to a server remote? Sounds like a routing or DNS issue. If you have internet connection on the OMAP please do following:

    opkg update

    opkg install wireshark-tshark

    opkg install wireshark-utils

    and run:

    tshark -a duration:30 -q -w capture &

    wait for "device eth0 entered promiscuous mode" and then run your code. Wait till duration seconds are elapsed and "device eth0 left promiscuous mode" is displayed. Please post now the output of tshark -r capture. Maybe, we can see where your packets get stuck.