[Prism54-devel] prism54-usb development, ng gw121 boot, cvs, hw analysis

Thomas Schorpp t.schorpp@gmx.de
Thu, 22 Apr 2004 16:46:13 +0200


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

hi feyd,

vitatje v eu ;)

Feyd wrote:
|
| The first goal is to boot the device. Even the driver does the same
with the
| device as the windows driver, the device doesnt boot. I cant find the
cause,
| feel free to investigate.
|
speculative:
it is well known that conexant wants to sell proprietary drivers for
their chips (linuxsant), maybe they invented little cryptographic
authentication to check if the device is accessed by licenced drivers.

did you see any random data in usb comms? ill check too.

|
|
| No datasheet, we log usb traffic under windows and then analyze.

ive hearded of the usb sniffers, the scanner and camera teams seems to
use them too.
which shall i use?
are you sure therere no databooks around? anyway the firmware is closed
source... maybe it could be "disassembled" with a arm devsuite...

done so far:

hardware analysis:

serial wg13142db104927, pcb says rev 5
chips aasembled:

"netchip net2280 rev 1a-lf" layout looks like its attached to usb port,
~ does it have an arm core?:
"isl 38801k",
"isl 3686air",
"isl 3048ir",
"ti cl125 39k",
"(w)inbond? 24lc64" some flash memory?,
"atmel 338 25640n".
"isl 6414ir"

building cvs under 2.4.26: failed due to my "icompetency":

after simply cp makefile26 to makefile24:

GNU Make 3.80
sh-2.05b# make
make -C /lib/modules/2.4.26/build SUBDIRS=/usr/local/src/prism54-usb modules
make[1]: Entering directory `/usr/src/linux-2.4.26'
make -C  /usr/local/src/prism54-usb CFLAGS="-D__KERNEL__
- -I/usr/src/linux-2.4.26/include -Wall -Wstrict-prototypes -Wno-trigraphs
- -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe
- -mpreferred-stack-boundary=2 -march=i486 -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.26/include/linux/modversions.h" MAKING_MODULES=1 modules
make[2]: Entering directory `/usr/local/src/prism54-usb'
make[2]: *** No rule to make target `modules'.  Stop.
make[2]: Leaving directory `/usr/local/src/prism54-usb'
make[1]: *** [_mod_/usr/local/src/prism54-usb] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.26'
make: *** [modules] Error 2
sh-2.05b#

i must learn makefile scripting.

trying manual generate of o's:

sh-2.05b# gcc -D__KERNEL__ -I/usr/src/linux-2.4.26/include -Wall
- -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
- -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i486
- -DMODULE -DMODVERSIONS -include
/usr/src/linux-2.4.26/include/linux/modversions.h -o usb_init.o -c
usb_init.c XXXXXXXXXXXXX is this correct call? XXXXXXXXXXXXX

usb_init.c: In function `p54u_reset_usb':
usb_init.c:69: warning: implicit declaration of function `netdev_priv'
usb_init.c:69: warning: initialization makes pointer from integer
without a cast
usb_init.c:72: warning: unused variable `reg'
usb_init.c:87: warning: label `do_err' defined but not used
usb_init.c: In function `p54u_free_pipe':
usb_init.c:94: warning: initialization makes pointer from integer
without a cast
usb_init.c:119: warning: implicit declaration of function `usb_buffer_free'
usb_init.c: In function `p54u_free_buffers':
usb_init.c:158: warning: initialization makes pointer from integer
without a cast
usb_init.c:159: warning: unused variable `usbdev'
usb_init.c: In function `p54u_alloc_pipe':
usb_init.c:172: warning: initialization makes pointer from integer
without a cast
usb_init.c:224: too many arguments to function `usb_alloc_urb_R1c589d8a'
usb_init.c:231: `URB_NO_TRANSFER_DMA_MAP' undeclared (first use in this
function)
usb_init.c:231: (Each undeclared identifier is reported only once
usb_init.c:231: for each function it appears in.)
usb_init.c:231: `URB_ASYNC_UNLINK' undeclared (first use in this function)
usb_init.c:233: warning: implicit declaration of function `usb_buffer_alloc'
usb_init.c:233: warning: assignment makes pointer from integer without a
cast
usb_init.c:265: warning: label `do_err' defined but not used
usb_init.c: In function `p54u_alloc_buffers':
usb_init.c:272: warning: initialization makes pointer from integer
without a cast
usb_init.c:275: warning: initialization from incompatible pointer type
usb_init.c:282: dereferencing pointer to incomplete type
usb_init.c:283: dereferencing pointer to incomplete type
usb_init.c:292: warning: passing arg 4 of `p54u_alloc_pipe' from
incompatible pointer type
usb_init.c:295: warning: passing arg 4 of `p54u_alloc_pipe' from
incompatible pointer type
usb_init.c:298: warning: passing arg 4 of `p54u_alloc_pipe' from
incompatible pointer type
usb_init.c:273: warning: unused variable `usbdev'
usb_init.c:277: warning: unused variable `pipe'
usb_init.c: In function `p54u_reset_dev':
usb_init.c:319: warning: initialization makes pointer from integer
without a cast
usb_init.c:320: warning: unused variable `usbdev'
usb_init.c: In function `p54u_load_firmware':
usb_init.c:462: warning: initialization makes pointer from integer
without a cast
usb_init.c:468: warning: unused variable `k'
usb_init.c:468: warning: unused variable `l'
usb_init.c:471: warning: unused variable `rcv'
usb_init.c:534: warning: label `do_err' defined but not used
usb_init.c: In function `p54u_setup_dev':
usb_init.c:543: warning: initialization makes pointer from integer
without a cast
usb_init.c:549: too many arguments to function `usb_submit_urb_R771e4db9'
usb_init.c:556: too many arguments to function `usb_submit_urb_R771e4db9'
usb_init.c:563: too many arguments to function `usb_submit_urb_R771e4db9'
usb_init.c:594: too many arguments to function `usb_submit_urb_R771e4db9'
usb_init.c:544: warning: unused variable `usbdev'
usb_init.c:546: warning: unused variable `rst'
usb_init.c:547: warning: unused variable `j'
usb_init.c:547: warning: unused variable `k'
usb_init.c: In function `p54u_boot':
usb_init.c:636: warning: initialization makes pointer from integer
without a cast
usb_init.c:643: structure has no member named `class_dev'
usb_init.c:651: warning: implicit declaration of function `get_jiffies_64'
usb_init.c: In function `p54u_shutdown':
usb_init.c:679: warning: initialization makes pointer from integer
without a cast
usb_init.c:680: warning: unused variable `usbdev'
usb_init.c:681: warning: unused variable `reg'
usb_init.c: In function `p54u_probe':
usb_init.c:706: warning: implicit declaration of function
`interface_to_usbdev'
usb_init.c:706: warning: initialization makes pointer from integer
without a cast
usb_init.c:727: warning: implicit declaration of function `usb_set_intfdata'
usb_init.c:729: warning: assignment makes pointer from integer without a
cast
usb_init.c: In function `p54u_disconnect':
usb_init.c:764: warning: implicit declaration of function `usb_get_intfdata'
usb_init.c:764: warning: initialization makes pointer from integer
without a cast
usb_init.c:765: warning: initialization makes pointer from integer
without a cast
usb_init.c:766: warning: unused variable `usbdev'
usb_init.c: At top level:
usb_init.c:804: warning: initialization from incompatible pointer type
usb_init.c:805: warning: initialization from incompatible pointer type
sh-2.05b#

no errors but results in no .o file, strange...


sh-2.05b# ls
CVS       Makefile.k24-  isl_38xx.h  net2280.h      prism54_usb.prj
~ prism54_usb.pws  usb_netdev.c
Makefile  Makefile.k26   make.out    prism54_usb.h  prism54_usb.prj.bak
~ usb_init.c       usb_transport.c
sh-2.05b#

y
tom







-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFAh9q11L8Hg/0A/fwRAhCHAJ46/AYj4e3PmWTe/5RSuNK5U2UCWwCeKrQi
X2iHVHG7XxWV/kfbqmCV6ig=
=mn/I
-----END PGP SIGNATURE-----