I'm trying to get Tiny Core installed on my ancient laptop, but I'm having difficulty getting my USB ethernet adapter to work. If I cold boot my system, Kaweth will fail to load and I will be completely unable to use the device or even unload the module. However, I discovered that if I boot into Puppy Linux (which loads the driver just fine) and then restart, Kaweth has no problems. In fact, I can turn off the system completely and it will still work when I cold boot again, as long as the device was a) previously initialized in Puppy and b) still connected to my powered USB hub. As soon as I remove it from the hub however, Kaweth will fail the next time I try to initialize it.
Here's an excerpt of the output of dmesg with the most relevant info:
Linux version 4.2.9-tinycore (tc@box) (gcc version 5.2.0 (GCC) ) #1999 SMP Mon Jan 18 19:42:12 UTC 2016
DMI: Dell Computer Corporation Inspiron 3800 G600GT /Inspiron 3800 G600GT , BIOS A09 08/01/2000
kaweth 1-1.2:1.0: Downloading firmware...
usb 1-1.2: Direct firmware load for kaweth/new_code.bin failed with error -2
usb 1-1.2: Falling back to user helper
BUG: unable to handle kernel NULL pointer dereference at 00000048
IP: [<c0369f58>] 0xc0369f58
*pde = 00000000
Oops: 0000 [#1] SMP
Modules linked in: kaweth(+) ppdev video backlight squashfs parport_pc lz4_decompress parport floppy 8250_fintek pcspkr battery ac acpi_cpufreq loop
CPU: 0 PID: 302 Comm: modprobe Not tainted 4.2.9-tinycore #1999
Hardware name: Dell Computer Corporation Inspiron 3800 G600GT /Inspiron 3800 G600GT , BIOS A09 08/01/2000
task: c3770840 ti: c2156000 task.ti: c2156000
EIP: 0060:[<c0369f58>] EFLAGS: 00010202 CPU: 0
EAX: c05c7a74 EBX: c21dd500 ECX: c2157d6c EDX: 0000001c
ESI: fffffff5 EDI: c05c7a74 EBP: 00000000 ESP: c2157d58
DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
CR0: 8005003b CR2: 00000048 CR3: 020c8000 CR4: 000006d0
Stack:
c21dd500 fffffff5 c001d068 c036a070 c2157d80 c48920b4 c2157d68 c4890379
0000001c c48920b4 00000064 00000002 00000000 c21dd000 c373be1c c001d068
00000000 c4890562 00000002 c373be1c c4892114 c21dd500 c373be00 ffffbe1c
Call Trace:
[<c036a070>] ? 0xc036a070
[<c4890379>] ? 0xc4890379
[<c4890562>] ? 0xc4890562
[<c03f2e85>] ? 0xc03f2e85
[<c036c5af>] ? 0xc036c5af
[<c036c700>] ? 0xc036c700
[<c036b377>] ? 0xc036b377
[<c036c1e3>] ? 0xc036c1e3
[<c036c6bc>] ? 0xc036c6bc
[<c036bfa7>] ? 0xc036bfa7
[<c036ccaf>] ? 0xc036ccaf
[<c03f1fbc>] ? 0xc03f1fbc
[<c481e000>] ? 0xc481e000
[<c0100407>] ? 0xc0100407
[<c01c692a>] ? 0xc01c692a
[<c053defe>] ? 0xc053defe
[<c01c6df3>] ? 0xc01c6df3
[<c053b583>] ? 0xc053b583
[<c018072a>] ? 0xc018072a
[<c01bd26b>] ? 0xc01bd26b
[<c01be894>] ? 0xc01be894
[<c0180902>] ? 0xc0180902
[<c054012e>] ? 0xc054012e
Code: c4 a0 00 00 00 5b 5e 5f 5d c3 8d 44 24 10 50 8b 4c 24 10 8b 54 24 0c 8b 44 24 08 e8 90 fe ff ff 5a c3 85 d2 57 89 c7 56 53 74 2e <8b> 72 2c 89 d3 85 f6 75 03 8b 72 08 89 d8 e8 a6 fd ff ff 51 56
EIP: [<c0369f58>] SS:ESP 0068:c2157d58
CR2: 0000000000000048
---[ end trace fcddb4a81476cb4f ]---
And here's part of the output of dmesg if the device was already initialized:
kaweth 1-1.2:1.0: Firmware present in device.
kaweth 1-1.2:1.0: Statistics collection: 13fbffff
kaweth 1-1.2:1.0: Multicast filter limit: 80
kaweth 1-1.2:1.0: MTU: 1514
kaweth 1-1.2:1.0: Read MAC address 00:50:c5:00:62:45
kaweth 1-1.2:1.0: kaweth interface created at eth0
usbcore: registered new interface driver kaweth
I also have the output of lsusb on Puppy:
Bus 001 Device 006: ID 06e1:0008 ADS Technologies, Inc. UBS-10BT Ethernet [klsi]
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x06e1 ADS Technologies, Inc.
idProduct 0x0008 UBS-10BT Ethernet [klsi]
bcdDevice 2.08
iManufacturer 2
iProduct 3
iSerial 1
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 90mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 0 (Defined at Interface level)
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 1
How can I get Tiny Core to initialize the device itself?