Forum Discussion

8 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi Shindou,

    1. in root fs, you need some scsi dev nodes, eg sda, sda1... to use mass storage dev

    you need usbfs, too. I have setup them in the post of buildroot guide, so they are ready.

    2. in kernel menuconfig,

    turn on file system support, eg, vfat and native lang codepage 437

    turn on scsi device, scsi disk

    turn on host-side usb, usb dev fs, your hcd, usb device eg mass storage.

    when booting, the kernel will detect your hcd, your usb devices.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    hi hippo,

    thx for the reply.

    i added all of the stuff you mentioned but it seems to not recognize the usb hcd for some reason

    [*] OHCI HCD support │ │

    │ │[ ] SL811HS HCD support │ │

    │ │[ ] ISP116X HCD support

    (the USB is the phillips ISP1362)

    drivers/usb/host/ohci-hcd.c:911:2:# error "missing bus glue for ohci-hcd"

    drivers/usb/host/ohci-hcd.c:418: warning: 'ohci_init' defined but not used

    drivers/usb/host/ohci-hub.c:304: warning: 'ohci_hub_status_data' defined but not used

    drivers/usb/host/ohci-hub.c:521: warning: 'ohci_hub_control' defined but not used

    drivers/usb/host/ohci-mem.c:27: warning: 'ohci_hcd_init' defined but not used

    drivers/usb/host/ohci-hcd.c:171: warning: 'ohci_urb_enqueue' defined but not used

    drivers/usb/host/ohci-hcd.c:302: warning: 'ohci_urb_dequeue' defined but not used

    drivers/usb/host/ohci-hcd.c:343: warning: 'ohci_endpoint_disable' defined but not used

    drivers/usb/host/ohci-hcd.c:398: warning: 'ohci_get_frame' defined but not used

    drivers/usb/host/ohci-hcd.c:481: warning: 'ohci_run' defined but not used

    drivers/usb/host/ohci-hcd.c:689: warning: 'ohci_irq' defined but not used

    make[3]: *** [drivers/usb/host/ohci-hcd.o] Error 1

    make[2]: *** [drivers/usb/host] Error 2

    make[1]: *** [drivers/usb] Error 2

    make: *** [drivers] Error 2

    Do I need to add code somewhere? (I'm using the nios_0.ptf)

    thanks!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You may have to port isp1362 HCD drivers. You can add it to isp116x.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    is there a guide for porting drivers somewhere in the forum? i've never ported drivers before and not too used to linux so i really appreciate it if you could give some pointers as to where to start? also how much work will it be to port drivers for uclinux? (need to plan out timeline)

    thanks in advance!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The files are in kernel dir drivers/usb/host/isp116x-hcd.c , isp116x.h.

    You may check with the author, maybe he has the lastest update.

    The book on drivers, "Linux Device Drivers 3rd, ed".

    You should have the isp1362 and isp1161 data sheets.

    Maybe it is just adding chip ids.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    maybe you should select isp116x driver, and change arch/nios2nommu/kernel/usb.c, to fix up port address and irq, na_usb, na_usb_irq.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    hi hippo,

    thanks for the reply.

    at first i tried with the 2.6.x kernel version which you can select ohci, sl11hs or isp116x. in that version, usb.c seemed to only include sl11hs stuff in the c source.

    so i tried 2.6.15.4 next and when i select usb, it only has the isp116x option (ie. no options to select bluetooth support etc, which 2.6.x did have). this version of the usb.c had includes of sl11hs code and isp116x. as you mentioned, na_usb and na_usb_irq are both undefined. I was trying to figure out where to define those because even after replacing na_usb with the port and na_usb_irq with the IRQ, i still got a bunch of compile warnings and errors with the usb stuff.

    any help to get the usb working would be greatly appreciated while i wait for the linux drivers book to arrive.

    thanx!
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I fixed up the device address (na_usb - to the address assigned to ISP1362 in SOPC builder) and irq (na_usb_irq - IRQ 4 when viewed in SOPC builder) and corrected the chip id so linux recognizes the usb port, but i get the following error about the IRQ after i plug in a USB flash drive. I checked the DE2_NET design I'm using for this experiment in SOPC builder and the IRQ for ISP1362 is 4, or should i instead be using the IRQ for the DMA?

    thanks in advance!

    io scheduler deadline registered

    116x: driver isp116x-hcd, 08 Apr 2005

    116x: ISP116x Host Controller, irq 4

    isp116x-hcd isp116x-hcd: new USB bus registered, assigned bus number 1

    hub 1-0:1.0: USB hub found

    hub 1-0:1.0: 2 ports detected

    scheduling while atomic: swapper/0x00000002/1

    Stack from 00187d40:<0>

    <0> 00000002<0> 000d53cc<0> 00000001<0> ffffe000<0> 00002900<0> 001922ec<

    0> 00189b20<0> 00356c00<0>

    <0> 40408180<0> 00000002<0> 000e5504<0> ffff8c59<0> 00000006<0> 000d696c<

    0> 00150020<0> 00150020<0>

    <0> ffff8c59<0> 4b87ad6e<0> 000170f0<0> 00182d60<0> 0014fd50<0> 00000002<

    0> ffffe000<0> 80000080<0>

    <0> 000175bc<0> 001921c0<0> 00192280<0> 000be790<0> 001921c0<0> 00192280<

    0> 000bf130<0> 000df488<0>

    <0> 00000000<0> 00189a20<0> 0000000d<0> 000001f4<0> 00356c04<0> 00357d9c<

    0> 000600fc<0> 00179200<0>

    <0> 0035ada4<0> 00000000<0> 00192294<0> 00356a00<0> 00000001<0> fffffffa<

    0> ffffffed<0> 000ecc94<0>

    Call Trace:<0>

    <0> [<000bcf18>]<0> [<000a1e04>]<0> [<000a1eb8>]<0> [<00000001>]<0>

    <0> [<00000000>]<0> [<00000000>]<0> [<000a20a8>]<0> [<00000000>]<0>

    <0> [<000a0e68>]<0> [<00000000>]<0> [<00000000>]<0> [<000c5c68>]<0>

    <0> [<00000001>]<0> [<00000000>]<0> [<00000000>]<0> [<00000000>]<0>

    <0> [<000001f4>]<0> [<00000001>]<0> [<00000000>]<0> [<000bf95c>]<0>

    <0> [<00000012>]<0> [<00000012>]<0> [<00000012>]<0> [<000c2034>]<0>

    <0> [<00000001>]<0> [<000a1e04>]<0> [<000a1f74>]<0> [<00000000>]<0>

    <0> [<000a22c8>]<0> [<00000001>]<0> [<000a2830>]<0> [<00000000>]<0>

    <0> [<00000000>]<0> [<00000264>]<0> [<00001d64>]<0> [<00006910>]<0>

    <0> [<00006968>]<0> [<0000088c>]<0> [<00000000>]<0> [<00000000>]<0>

    <0> [<00000000>]<0> [<000052a8>]<0> [<00000000>]<0> [<00000001>]<0>

    <0> [<00000b00>]<0> [<00000b00>]<0> [<0000019c>]<0> [<00000000>]<0>

    <0> [<00000120>]<0> [<00000001>]<0> [<00000001>]<0> [<00001d54>]<0>

    drivers/usb/class/bluetty.c: USB Bluetooth support registered

    usbcore: registered new driver bluetty

    drivers/usb/class/bluetty.c: USB Bluetooth tty driver v0.13

    Initializing USB Mass Storage driver...

    usbcore: registered new driver usb-storage

    USB Mass Storage support registered.

    Freeing unused kernel memory: 348k freed (0xf2000 - 0x148000)

    init started: BusyBox v1.1.1-pre0 (2006.03.06-00:20+0000) multi-call binary

    BusyBox v1.1.1-pre0 (2006.03.06-00:20+0000) Built-in shell (msh)

    Enter &#39;help&#39; for a list of built-in commands.

    # usb 1-2: new full speed USB device using isp116x-hcd and address 2

    isp116x-hcd isp116x-hcd: Unlink after no-IRQ? Controller is probably using the

    wrong IRQ.