> > trying to establish a USB connection between my PC (host) and an > embedded system ARM-MX357 [1] (device), the link gets lost after ~40 > Pings (g_ethernet) or some ttyG0 stresstest (g_serial). > > The ARM-MX357 Board is not yet supported by vanilla kernel with a > platform specific file. For testing purposes I wrote a minimal platform > file, and as far as I can tell everything works apart from a reliable > USB-Link. These are the lines to bring up USB: > > static const struct fsl_usb2_platform_data otg_device_pdata __initconst = > { > .operating_mode = FSL_USB2_DR_DEVICE, > .phy_mode = FSL_USB2_PHY_UTMI, > /* > .workaround = FLS_USB2_WORKAROUND_ENGCM09152, /*no hardware > part :-( */ > */ > }; > > imx35_add_fsl_usb2_udc(&otg_device_pdata); > So, with ENGCM09152, your USB can't work? > What bothers me is, the errata sheet [2] of the imx35 showing an > implementation error (ENGcm09152): The vusb-pin should be "enhanced" by > some resistors and a diode. This claimed hardware-fix isn't implemented > on the board (as far as I can see). So maybe this whole link-problem is > due to a hardware-bug... > I have no available hardware on hand, I am not sure if Fabio can help you test at freescale 3DS board to see if it exists at freescale's hardware? > What I wasn't testing is operating_mode = FSL_USB2_DR_HOST (host-mode) > because there is only a Mini-B-Port and my USB-Keyboard-Device for > example doesn't fit in there. Should I solder an adapter cable for > testing? > Or you need a Micro B(Male)-TO-Standard A(Female) switch cable. > On the PC (host) I was able to sniff by usbmon: > At first all is normal, but after a while (~40 Pings vice versa) the > embedded system doesn't respond any more. Then, while testing the > connection with g_ethernet, the kworker thread eats all remaining cpu > time on the embedded board. Furthermore the host loses its usb0 ip > address. > How about works as mass storage? > With g_serial the connection lasts a bit longer and the kworker doesn't > rise after the lost. > > On the ARM-MX357, usbmon showed not a thing. Is this because of device > mode? > Yes, usbmon catches USB bus data, which is only for host mode. > I tested with current kernel git version (3.4 rc1), 3.2 and 2.6.33. > > Do you have an idea? > > Thanks for you input, > -- Christoph > > [1] http://www.freescale.com/files/dsp/doc/ref_manual/IMX35RM.pdf > > [2] Errata: ENGcm09152 Page 25, > USB: UTMI_USBPHY VBUS input impedance implementation error > http://cache.freescale.com/files/dsp/doc/errata/IMX35CE.pdf > > ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥