[OpenWrt-Devel] lantiq usb - isochronous transfers

Ben Mulvihill ben.mulvihill at gmail.com
Mon Nov 17 16:27:36 EST 2014


Aha! That explains why it compiles, and probably also
explains why it doesn't actually work ;-) . I simply
corrected a few obvious errors, without trying to
understand the code properly. The chances of that being
enough to fix it were bound to be pretty small.

I'd like to try dwc2 as John suggests and maybe AA
dwc-usb as well, but it might be a while because
I don't know much about USB and don't have a lot of
time at the moment either. I'll post again if I do
get anywhere and hope to hear from you if you do too.

Ben

On Mon, 2014-11-17 at 19:58 +0100, pasdVn wrote:
> Hi Ben,
> 
> of course I used your fixes to compile the code!
> 
> Maybe you would be more lucky with the AA's dwc-usb module and should
> give it a try? Actually I'm not very experienced with kernel hacking so
> I can not really give you a qualified hint. 
> Probably I will also try to use dwc-usb one with my device as this one
> seems to be the most promising one.
> 
> 
> Tobias
> 
> 
> Am Montag, den 17.11.2014, 12:58 +0100 schrieb Ben Mulvihill:
> > Hi Tobias,
> > 
> > Thank you for reporting on your investigations. 
> > I have been comparing the AA and BB versions of ifx-hcd,
> > having completely failed to notice that AA actually uses
> > dwc-usb. Silly me!
> > 
> > I am intrigued though that ifx-hcd 3.2 does compile for you
> > with isochronous transfers enabled. I get the errors below.
> > 
> > Would porting dwc-usb from AA be easier than using dwc2?
> > Presumably it was replaced with ifx-hcd for a reason.
> > 
> > Ben
> > 
> > 
> >   mips-openwrt-linux-uclibc-gcc
> > -Wp,-MD,/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/.ifxhcd_intr.o.d
> > -nostdinc
> > -isystem /home/ben/openwrt/barrier_breaker/staging_dir/toolchain-mips_34kc+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/lib/gcc/mips-openwrt-linux-uclibc/4.8.3/include -I/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/arch/mips/include -Iarch/mips/include/generated  -Iinclude -I/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/arch/mips/include/uapi -Iarch/mips/include/generated/uapi -I/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/include/uapi -Iinclude/generated/uapi -include /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/include/linux/kconfig.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff80002000 -DDATAOFFSET=0 -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration 
 -Wno
> >  -format-security -fno-delete-null-pointer-checks -O2 -fno-reorder-blocks -fno-tree-ch -fno-caller-saves -mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely -msoft-float -ffreestanding -march=mips32r2 -Wa,-mips32r2 -Wa,--trap -I/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/arch/mips/include/asm/mach-lantiq -I/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/arch/mips/include/asm/mach-lantiq/xway -I/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49/arch/mips/include/asm/mach-generic -Wframe-larger-than=1024 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -g -femit-struct-debug-baseonly -fno-var-tracking -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -DCC_HAVE_ASM_GOTO -D__IS_DANUBE__ -D__EN_ISOC__
  -D_
> >  _UNALIGNED_BUF_ADJ__ -Dlinux -D__LINUX__ -D__IS_HOST__ -D__KERNEL__ -D__DYN_SOF_INTR__ -D__UEIP__ -D__DO_OC_INT__ -D__INNAKSTOP_BULK__ -D__INTRNAKRETRY__ -D__INTRINCRETRY__  -DMODULE -mno-long-calls  -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(ifxhcd_intr)"  -D"KBUILD_MODNAME=KBUILD_STR(ltq_hcd_danube)" -c -o /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.o /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc+dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c: In
> > function 'next_isoc_sub':
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:572:4: error: implicit declaration of function 'init_hc' [-Werror=implicit-function-declaration]
> >     init_hc(urbd->epqh);
> >     ^
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c: At
> > top level:
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4035:6: warning: conflicting types for 'init_hc' [enabled by default]
> >  void init_hc(ifxhcd_epqh_t *_epqh)
> >       ^
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4035:6: error: static declaration of 'init_hc' follows non-static declaration
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:572:4: note: previous implicit declaration of 'init_hc' was here
> >     init_hc(urbd->epqh);
> >     ^
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c: In
> > function 'init_hc':
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4092:9: error: 'ifxhcd_epqh_t' has no member named 'isoc_frame_index'
> >     _epqh->isoc_frame_index=0;
> >          ^
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4095:7: error: '_urb' undeclared (first use in this function)
> >     if(_urb->transfer_flags && URB_ISO_ASAP)
> >        ^
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4095:7: note: each undeclared identifier is reported only once for each function it appears in
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c: In
> > function 'select_eps_sub':
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4299:9: warning: statement with no effect [-Wunused-value]
> >          urbd->phase==URBD_ACTIVE;
> >          ^
> > /home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.c:4300:17: error: request for member 'phase' in something not a structure or union
> >          epqh->hc.phase=HC_WAITING;
> >                  ^
> > cc1: some warnings being treated as errors
> > make[5]: ***
> > [/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/ifxhcd_intr.o]
> > Error 1
> > make[4]: ***
> > [_module_/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube] Error 2
> > make[4]: Leaving directory
> > `/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/linux-3.10.49'
> > make[3]: ***
> > [/home/ben/openwrt/barrier_breaker/build_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/linux-lantiq_xway/ltq-hcd-danube/.built] Error 2
> > make[3]: Leaving directory
> > `/home/ben/openwrt/barrier_breaker/package/kernel/lantiq/ltq-hcd'
> > make[2]: *** [package/kernel/lantiq/ltq-hcd/compile] Error 2
> > make[2]: Leaving directory `/home/ben/openwrt/barrier_breaker'
> > make[1]: ***
> > [/home/ben/openwrt/barrier_breaker/staging_dir/target-mips_34kc
> > +dsp_uClibc-0.9.33.2/stamp/.package_compile] Error 2
> > make[1]: Leaving directory `/home/ben/openwrt/barrier_breaker'
> > make: *** [world] Error 2
> > _______________________________________________
> > openwrt-devel mailing list
> > openwrt-devel at lists.openwrt.org
> > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
> 
> 
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list