ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: Несколько вопросов по USB и не только  (Прочитано 13214 раз)

0 Пользователей и 3 Гостей просматривают эту тему.

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Несколько вопросов по USB и не только
« Ответ #15 : 25 Марта, 2014, 12:35:52 »

linux-wlan не собирается. Похоже, что эта версия не совместима с ядром 2.6.35.
Записан

Genues

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 49
Re: Несколько вопросов по USB и не только
« Ответ #16 : 15 Августа, 2014, 12:51:13 »

Продолжая освоение работы с устройствов в режиме HID, возник следующий вопрос.
Желая увидеть тион как HID определённой конфигарции, поменял "HID description" в файле  linux/arch/arm/mach-mx28/mx28evk.c
/* hid descriptor */
static struct hidg_func_descriptor my_hid_data = {
.subclass       = 0, /* No subclass */
.protocol       = 0, /* Custom */
.report_length      = 8,
.report_desc_length = 28,
.report_desc     = {
    0x05, 0x01,              // USAGE_PAGE (Generic Desktop)
    0x09, 0x01,                    // USAGE (Vendor Usage 1)
    0xa1, 0x01,                    // COLLECTION (Application)

    0x85, 0x01,                    //   REPORT_ID (1)
    0x09, 0x01,                    //   USAGE (Vendor Usage 1)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x26, 0xff, 0x00,              //   LOGICAL_MAXIMUM (255)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0x81, 0x82,                    //   INPUT (Data,Var,Abs,Vol)
    0x85, 0x01,                    //   REPORT_ID (1)
    0x09, 0x01,                    //   USAGE (Vendor Usage 1)
    0x91, 0x82,                    //   OUTPUT (Data,Var,Abs,Vol)
    0xc0                           // END_COLLECTION
}
};
Пересобираю ядро и rootfs, прошиваю, запускаю.
После подключения к компу и запуске g_hid.ko, тионка видится как HID, но
lsusb -v на компе выдаёт:
Bus 004 Device 008: ID 0525:a4ac Netchip Technology, Inc.
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          239 Miscellaneous Device
  bDeviceSubClass         2 ?
  bDeviceProtocol         1 Interface Association
  bMaxPacketSize0        64
  idVendor           0x0525 Netchip Technology, Inc.
  idProduct          0xa4ac
  bcdDevice            3.26
  iManufacturer           1
  iProduct                2
  iSerial                 0
  bNumConfigurations      1
OTG Descriptor:
  bLength                 3
  bDescriptorType         9
  bmAttributes         0x03
    SRP (Session Request Protocol)
    HNP (Host Negotiation Protocol)
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           37
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              3
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      28
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval               4
Внимание на секцию "Endpoint Descriptor:", насколько я понимаю, должны быть две EndPoint - одна IN, и одна OUT.
А видится только одна... Я что-то не правильно понимаю?
Или так и должно быть? Но как тогда нормально передавать/принимать данные?
Подскажите пожалуйста! Спасибо!

lsusb -v на тионе выдаёт:
$ lsusb -v

Bus 002 Device 001: ID 1d6b:0002
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         1 Single TT
  bMaxPacketSize0        64
  idVendor           0x1d6b
  idProduct          0x0002
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.35.3-571-gcca29a0 ehci_hcd
  iProduct                2 Freescale On-Chip EHCI Host Controller
  iSerial                 1 fsl-ehci.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             1
  wHubCharacteristic 0x0009
    Per-port power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x40
  PortPwrCtrlMask    0xe8
 Hub Port Status:
   Port 1: 0000.0100 power
Вроде тоже что-то не то.
Записан

ivanbel

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 1
Re: Несколько вопросов по USB и не только
« Ответ #17 : 02 Сентября, 2015, 14:28:18 »

1. Для загрузки по USB J1, J2, J3, J4 ставите в положение 2-3.

При этом lsusb на хосте показывает:
Bus 001 Device 086: ID 15a2:004f Freescale Semiconductor, Inc. i.MX28 SystemOnChip in RecoveryMode

2. Не знаю

3.
> Вообще, ожидаются ли более свежие ядра для Тиона?

Как показывает история -- планово нет, не ожидается.

Но ядро 3.14 можно запустить на Тион-Про28, работает debug UART (X9),
Ethernet, видео с незначительными артефактами, PWM, светодиод, вероятно
Flash и некоторые другие интерфейсы (SPI, UART...).

Изменения незначительные, во вложении и dts-файл для размещения в
arch/arm/boot/dts/imx28-tion-pro28.dts
и патч для добавления этого файла в Makefile.

Подготовка ядра:
   patch -p1 < dts-makefile-add-imx28-tion-pro28.patch
   cp imx28-tion-pro28.dts arch/arm/boot/dts/
   cp config-tion-pro28 .config

Сборка ядра:
   export ARCH=arm
   export CROSS_COMPILE=<compiler-prefix>
   make oldconfig
   LOADADDR=40008000 make uImage

Для загрузки потребуется новый U-Boot, например v2014.01, работает SD, NAND,
Ethernet, debug UART.

Подготовка U-Boot:
   patch -p1 < u-boot.patch

Сборка U-Boot:
   export ARCH=arm
        export CROSS_COMPILE=<compiler-prefix>
        make mx28evk_config
   make
        make u-boot.sb

Запись на SD-карту (можно в NAND Flash), см. doc/README.mxs в исходных
кодах для создания разделов на SD-карте:
        tools/mxsboot sd u-boot.sb u-boot.SD
        dd if=u-boot.SD of=/dev/??1

Официальный Buildroot также хорошо работает.

Не могли бы Вы выложить файл imx28-tion-pro28.dts, а то есть только dtb.
Заранее спасибо.
Записан

miks

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 31
Re: Несколько вопросов по USB и не только
« Ответ #18 : 05 Января, 2016, 14:06:41 »

Надо бы освежить dts файл а то только dtb файл есть. Можно конечно получить по аналогии с описанным тут http://www.pvsm.ru/linux/68990/print/ но получим не совсем чистый dts
Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Несколько вопросов по USB и не только
« Ответ #19 : 11 Января, 2016, 01:48:47 »

Взяли тут Сириус28, выставляю загрузку с usb, при подключенном разъемом (USB-COM переходник)
выдаёт
[ 3815.069475] usb 3-4: new full-speed USB device number 7 using ohci-pci
[ 3815.209632] usb 3-4: device descriptor read/64, error -62
[ 3815.453653] usb 3-4: device descriptor read/64, error -62
[ 3815.693675] usb 3-4: new full-speed USB device number 8 using ohci-pci
[ 3815.833682] usb 3-4: device descriptor read/64, error -62
[ 3816.077706] usb 3-4: device descriptor read/64, error -62
[ 3816.317727] usb 3-4: new full-speed USB device number 9 using ohci-pci
[ 3816.725601] usb 3-4: device not accepting address 9, error -62
[ 3816.861611] usb 3-4: new full-speed USB device number 10 using ohci-pci
отключаю COM
[ 4073.130570] usb 1-4: USB disconnect, device number 11
[ 4074.903351] usb 1-1: new high-speed USB device number 12 using ehci-pci
[ 4075.036061] usb 1-1: New USB device found, idVendor=15a2, idProduct=004f
[ 4075.036070] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 4075.036075] usb 1-1: Product: ROM Recovery
[ 4075.036079] usb 1-1: Manufacturer: Freescale,Inc.
[ 4075.037992] hid-generic 0003:15A2:004F.000B: hiddev0,hidraw1: USB HID v1.10 Device [Freescale,Inc. ROM Recovery] on usb-0000:00:12.2-1/input0

P.S. Подключил USB0 от разъема X8 заработало.
Вопрос почему через разъем X25 сбоит, кабель 30см, usb1.1?
« Последнее редактирование: 11 Января, 2016, 04:25:51 от Vek »
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Несколько вопросов по USB и не только
« Ответ #20 : 11 Января, 2016, 19:16:58 »

Не совсем понял, что куда подключаете и отключаете.

Сириус через Х25 подключаете к ПК?
Переходник USB-COM: СOM в Сириус, USB в ПК?
Внешний USB-хаб не используете при этом соединении?

Первый лог - при подключении переходника USB-COM. И переходник не определяется при одновременном подключении с Сириусом?

Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Несколько вопросов по USB и не только
« Ответ #21 : 11 Января, 2016, 20:20:40 »

Подключил питание, x25(USB0) к ПК, джемперы на загрузку с USB0, получаю те сбои что описал выше,
если USB0 брать от разъема x8 сбоев нет. COM порт отключён. Сам сразу не догадался СОМ порт не причём.
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Несколько вопросов по USB и не только
« Ответ #22 : 11 Января, 2016, 20:32:21 »

Х25 у сириус не стабильно работает при USB 2.0. Попробуйте использовать порт USB 1.1. Судя по логу, подключается USB 2.0.


[ 4074.903351] usb 1-1: new high-speed USB device number 12 using ehci-pci

Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Несколько вопросов по USB и не только
« Ответ #23 : 11 Января, 2016, 20:48:40 »

В общем это мелочи.
Тут возник другой вопрос, есть файлы созданные программой imx-bootlets-src-10.12.01 linux_ivt.sb и uboot_ivt.sb зашиваю их в nand с помощью kobs-ng все работает. Попытался тут залить те же файлы по USB0 (программой mxsldr) uboot стартует, а вот linux_ivt.sb не хочет выдаёт такое.
Цитировать
No battery or bad battery               detected!!!.Disabling battery               voltage measurements./r/nLLLCJan 11 201604:00:53
FRAC 0x92925552
memory type is DDR2
                   Wait for ddr ready 1power 0x00820616
Frac 0x92925552
start change cpu freq
hbus 0x00000003
cpu 0x00010001
start test memory accress
ddr2 0x40000000
finish simple test
LLLLLLLFLCLLJ

Вопрос: возможно ли linux_ivt.sb по usb0 запустить ?
« Последнее редактирование: 11 Января, 2016, 20:50:25 от Vek »
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Несколько вопросов по USB и не только
« Ответ #24 : 11 Января, 2016, 21:03:02 »

Судя по описанию mxsldr, она предназначена для записи uboot. Можно ли ей записывать ядро - не знаю, не использовал ее.
Беглый поиск в интернете показывает, что mxsldr может записывать только uboot. Для записи ядра нужно патчить программу:
http://u-boot.10912.n7.nabble.com/PATCH-make-mxsldr-behave-like-sb-loader-exe-td191071.html

Записать через usb0 можно из Windows, используя mfgtool.

Записан

Vek

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 11
Re: Несколько вопросов по USB и не только
« Ответ #25 : 11 Января, 2016, 21:31:43 »

Замечательно с патчем заработало команда для запуска ./mxsldr linux_ivt.sb 1 может кому пригодится.
« Последнее редактирование: 11 Января, 2016, 21:56:19 от Vek »
Записан

Genues

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 49
Re: Несколько вопросов по USB и не только
« Ответ #26 : 18 Января, 2017, 10:31:38 »

Продолжу в этой теме.

У нас на последней партии Тионов неожиданно перестала работать связь по USB в режиме Serial между Тионом и ПК.
Модуль ядра на Тионе запускается корректно, /dev/ttyGS0 появляется. Однако ПК не видит подключенный Тион.
Есть какие-нибудь варианты решения? Или надо везти всё вам?
Записан

Danila

  • Administrator
  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 703
Re: Несколько вопросов по USB и не только
« Ответ #27 : 18 Января, 2017, 13:18:53 »

Добрый день.

На ТионеПро28 есть разъем Х25. У него контакты 4 и 5 замкнуты перемычкой. Попробуйте ее снять. Перемычкой выбирается режим USB Host/Device.
Записан

Genues

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 49
Re: Несколько вопросов по USB и не только
« Ответ #28 : 18 Января, 2017, 14:13:03 »

Добрый день.

На ТионеПро28 есть разъем Х25. У него контакты 4 и 5 замкнуты перемычкой. Попробуйте ее снять. Перемычкой выбирается режим USB Host/Device.

Спасибо, помогло.
Записан