
도와주세요!!
글 수 15,339
2005.08.16 12:45:56 (*.141.101.107)
7003
안녕하세요..
메세지의 내용을 보면..
>EZBOOT>tfr
>Receive ramdisk-ez2410.gz
>Send ARP Packet
>ARP PACKET Error
>ARP PACKET Resive
>HOST MAC : [ 00 40 2B 1E 51 E6 ]
>HOST IP : [0.0.0.0]
>LOCAL IP : [192.168.0.165]
>Resive Address : 3100-0000
>TFTP Request Send
>----------------------------------------------------------------------------------------------------
==>> HOST IP : [0.0.0.0] 로 호스트머신의 IP를 얻어오지 못하는것 같습니다..
부트로드상에서 ping 테스트해보셨나요???
호스트리눅스머신의 TTFT 설정을 다시 한번 확인 해보세요...
>그리고 질문 하나 추가드립니다.
>usb무선랜카드와 메모리스틱을 포팅했는데요.
>커널컴파일하고 램디스크에 무선관련툴과 라이브러리 및 드라이버를 추가하고
>부팅을 했는데요..이게 웃긴게
>그때 그때 다르네요..^^
>부팅이 되면서 메세지 뿌리는 부분서
>-----------------------------------------------------------------------------
>생략
>RAMDISK: Compressed image found at block 0
>usb 1-1: new full speed USB device using address 2
>usb 1-1: device not accepting address 2, error -110
>usb 1-1: new full speed USB device using address 3
>usb 1-1: device not accepting address 3, error -110
>VFS: Mounted root (ext2 filesystem) readonly.
>생략
>----------------------------------------------------------------------------
>조렇게 usb관련 에러 메세지가 뜹니다.
>저 상황에서 /proc/bus/usb/device 파일을 보면
>usb허브와 ohci컨트롤러만 잡혀있습니다.
>
>근데 몇번 리셋을 하다보면 저 메세지가 안뜨고 제대로 부팅이
>될때가 있습니다.
>그래서 확인해보면 해당 디바이스정보들이 다 나오네요
>무선랜도 잘되고~ 메모리스틱도 마운트해서 파일도 볼수 있구요.
>암만 생각해도...그 이유를 모르겠네요..
>안되면 안되는거고 되면 되는거지..
>어쩔땐 되고 어쩔땐 안되고..흐~ 미티겠네요^^
===>> 저희도 정확한 이유를 모르겠습니다...
혹시 커널의 drivers/usb/core/hub.c 파일에서.
1441 /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way?
1442 * Because device hardware and firmware is sometimes buggy in
1443 * this area, and this is how Linux has done it for ages.
1444 * Change it cautiously.
1445 *
1446 * NOTE: Windows gets the descriptor first, seemingly to help
1447 * work around device bugs like "can't use addresses with bit 3
1448 * set in certain configurations". Yes, really.
1449 */
1450 for (i = 0; i < GET_DESCRIPTOR_TRIES; ++i) {
1451 for (j = 0; j < SET_ADDRESS_TRIES; ++j) {
1452 retval = hub_set_address(udev);
1453 if (retval >= 0)
1454 break;
1455 msleep(200);
1456 }
1457 if (retval < 0) {
1458 dev_err(&udev->dev,
1459 "device not accepting address %d, error %dn",
1460 udev->devnum, retval);
1461 goto fail;
1462 }
1463
1464 /* cope with hardware quirkiness:
1465 * - let SET_ADDRESS settle, some device hardware wants it
1466 * - read ep0 maxpacket even for high and low speed,
1467 */
1468 msleep(10);
1469 retval = usb_get_device_descriptor(udev, 8);
1470 if (retval >= 8)
1471 break;
1472 msleep(100);
1473 }
1455 msleep(200);
1468 msleep(10);
1472 msleep(100);
에서 타이밍 조절을 한번 해 보세요...
그럼 수고하세요...
메세지의 내용을 보면..
>EZBOOT>tfr
>Receive ramdisk-ez2410.gz
>Send ARP Packet
>ARP PACKET Error
>ARP PACKET Resive
>HOST MAC : [ 00 40 2B 1E 51 E6 ]
>HOST IP : [0.0.0.0]
>LOCAL IP : [192.168.0.165]
>Resive Address : 3100-0000
>TFTP Request Send
>----------------------------------------------------------------------------------------------------
==>> HOST IP : [0.0.0.0] 로 호스트머신의 IP를 얻어오지 못하는것 같습니다..
부트로드상에서 ping 테스트해보셨나요???
호스트리눅스머신의 TTFT 설정을 다시 한번 확인 해보세요...
>그리고 질문 하나 추가드립니다.
>usb무선랜카드와 메모리스틱을 포팅했는데요.
>커널컴파일하고 램디스크에 무선관련툴과 라이브러리 및 드라이버를 추가하고
>부팅을 했는데요..이게 웃긴게
>그때 그때 다르네요..^^
>부팅이 되면서 메세지 뿌리는 부분서
>-----------------------------------------------------------------------------
>생략
>RAMDISK: Compressed image found at block 0
>usb 1-1: new full speed USB device using address 2
>usb 1-1: device not accepting address 2, error -110
>usb 1-1: new full speed USB device using address 3
>usb 1-1: device not accepting address 3, error -110
>VFS: Mounted root (ext2 filesystem) readonly.
>생략
>----------------------------------------------------------------------------
>조렇게 usb관련 에러 메세지가 뜹니다.
>저 상황에서 /proc/bus/usb/device 파일을 보면
>usb허브와 ohci컨트롤러만 잡혀있습니다.
>
>근데 몇번 리셋을 하다보면 저 메세지가 안뜨고 제대로 부팅이
>될때가 있습니다.
>그래서 확인해보면 해당 디바이스정보들이 다 나오네요
>무선랜도 잘되고~ 메모리스틱도 마운트해서 파일도 볼수 있구요.
>암만 생각해도...그 이유를 모르겠네요..
>안되면 안되는거고 되면 되는거지..
>어쩔땐 되고 어쩔땐 안되고..흐~ 미티겠네요^^
===>> 저희도 정확한 이유를 모르겠습니다...
혹시 커널의 drivers/usb/core/hub.c 파일에서.
1441 /* Why interleave GET_DESCRIPTOR and SET_ADDRESS this way?
1442 * Because device hardware and firmware is sometimes buggy in
1443 * this area, and this is how Linux has done it for ages.
1444 * Change it cautiously.
1445 *
1446 * NOTE: Windows gets the descriptor first, seemingly to help
1447 * work around device bugs like "can't use addresses with bit 3
1448 * set in certain configurations". Yes, really.
1449 */
1450 for (i = 0; i < GET_DESCRIPTOR_TRIES; ++i) {
1451 for (j = 0; j < SET_ADDRESS_TRIES; ++j) {
1452 retval = hub_set_address(udev);
1453 if (retval >= 0)
1454 break;
1455 msleep(200);
1456 }
1457 if (retval < 0) {
1458 dev_err(&udev->dev,
1459 "device not accepting address %d, error %dn",
1460 udev->devnum, retval);
1461 goto fail;
1462 }
1463
1464 /* cope with hardware quirkiness:
1465 * - let SET_ADDRESS settle, some device hardware wants it
1466 * - read ep0 maxpacket even for high and low speed,
1467 */
1468 msleep(10);
1469 retval = usb_get_device_descriptor(udev, 8);
1470 if (retval >= 8)
1471 break;
1472 msleep(100);
1473 }
1455 msleep(200);
1468 msleep(10);
1472 msleep(100);
에서 타이밍 조절을 한번 해 보세요...
그럼 수고하세요...