From: Jason K. <jas...@gm...> - 2012-06-28 16:15:55
|
Hi Vadim - Thanks so much for the reply, I really appreciate it and missed your email. I'll have to give this a try again with your recommendations but am not sure how much luck I'll have. I don't know I can do something similar on my mac, but I'll give it as hot and report my success. Thanks again. Very Sincerely, Jason On Jun 26, 2012, at 9:05 PM, Vadim Lomovtsev wrote: > Hi Jason, > > Yes, I figured out root cause of my issues. It is all ok with libopencm3. > > To have device connected as ACM modem and send/receive data trhought it you need to configure device in raw mode (see man tcgetattr, man tcsetattr http://linux.die.net/man/3/tcsetattr) before sending/receiving data from it. > > To find this I was need to load usbmon (linux kernel module) to trace IN/OUT transfers. So using usbmon it can be seen that the data transfers are ok and the problem was at my side. > I think that some ACM driver code tries to recognize ACM protocol and fails (but there is no any messages about that in the kernel log). > > Hope this helps. :) > > regards, > Vadim > > p.s. I'm running embeded linux 2.6.3.35 on i.mx28 freescale board. > > 2012/6/26 Jason Kotzin <jas...@gm...> > Hi Vadim - > > Was wondering if you had any luck with this. > > I'm trying to get that same example running. > > I've actually found that usbd_ep_write_packet() is broken on my mac. I can send data down through a terminal, but nothing get's echoed back. However, connecting via linux, everything works. > > Vadim, were you on a mac? I can't figure out if it's on the device, protocol, or driver level. > > Thanks. > > Sincerely, > Jason > > On Jun 8, 2012, at 12:07 AM, Vadim Lomovtsev wrote: > >> Hi Gareth, >> >> Thanks a lot for reply. I'll continue with my project then. >> >> Vadim >> >> 2012/6/8 Gareth McMullin <ga...@bl...> >> Hi Vadim >> >> On Jun 8, 2012 2:09 AM, "Vadim Lomovtsev" <je...@gm...> wrote: >> > Have anyone tried to run usb_cdcacm example for stm32f107? I have updated it compiled so the host recognized board as ACM modem. >> >> I've tested it on the stm32f105. It should be the same. >> >> > Also I wrote simple app that sends string to device via /dev/ttyACM0 and I'm able to see it at the device side (using USART for tracing). >> > But when I try to use poll() or select() to check if there a new data from the device I can't get anything from it. Did I miss something? >> > Do I need to implement any callback for IN transfers (as it is done for OUT data transfers: cdcacm_data_rx_cb() ) or using usbd_ep_write_packet() routine should be enough? >> >> You only need to call usbd_ep_write_packet to send, but you should check its return value. It returns the number of bytes written. If zero you should retry. The callback is only needed if you want your sending to be interrupt/callback driven. >> >> Regards, >> Gareth >> >> >> >> -- >> Best regards, >> Vadim. >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ >> libopencm3-devel mailing list >> lib...@li... >> https://lists.sourceforge.net/lists/listinfo/libopencm3-devel > > > > > -- > Best regards, > Vadim. |