Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Fri 25 Jul 2014, 10:01
All times are UTC - 4
 Forum index » House Training » HOWTO ( Solutions )
Dell Vostro 1310 + Broadcom 4312 wifi card + retro kernel
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [1 Post]  
Author Message
clarf


Joined: 13 Jun 2007
Posts: 612
Location: The old Lone Wolf

PostPosted: Sat 30 Jul 2011, 15:48    Post subject:  Dell Vostro 1310 + Broadcom 4312 wifi card + retro kernel
Subject description: Throubleshooting and tips
 

Hi,

I recently got a new laptop a Dell Vostro 1310, I tried different Puppy 2 versions (kernel 2.6.18.1) and 4 series with retro kernel (2.6.21.7). I found some problems regarding wireless, SATA disk, etc.

Boot: First impression, Puppy boots really slow and it can´t recognize HD drives, checking dmesg or using pfix=debug show problems with SATA:

dmesg or boot_info file (kernel 2.6.18.1 and 2.6.21.7):
Code:

ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x104)
ata1: port is slow to respond, please be patient
ata1: port failed to respond (30 secs)
ata1: COMRESET failed (device not ready)
ata1: hardreset failed, retrying in 5 secs
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: qc timeout (cmd 0xec)
ata1.00: failed to IDENTIFY (I/O error, err_mask=0x104)
ata1: port is slow to respond, please be patient
ata1: port failed to respond (30 secs)
ata1: COMRESET failed (device not ready)
ata1: hardreset failed, retrying in 5 secs
...


Also you see the following code on kernel 2.6.18.1:
Code:
...
irq 10: nobody cared (try booting with the "irqpoll" option)
 [<c0134692>] __report_bad_irq+0x22/0x90
 [<c01347c8>] note_interrupt+0x98/0xc0
 [<c0133ff9>] __do_IRQ+0xa9/0xc0
 [<c01049b5>] do_IRQ+0x25/0x50
 [<c010316a>] common_interrupt+0x1a/0x20
 [<c011ad00>] __do_softirq+0x30/0xb0
 [<c011adb5>] do_softirq+0x35/0x40
 [<c01049ba>] do_IRQ+0x2a/0x50
 [<c010316a>] common_interrupt+0x1a/0x20
 [<c01342ac>] setup_irq+0x7c/0x170
 [<f885b8e0>] usb_hcd_irq+0x0/0x60 [usbcore]
 [<c013451f>] request_irq+0x7f/0xa0
 [<f885bc54>] usb_add_hcd+0x1e4/0x2f0 [usbcore]
 [<f885b8e0>] usb_hcd_irq+0x0/0x60 [usbcore]
 [<f8863850>] usb_hcd_pci_probe+0x190/0x350 [usbcore]
 [<c022e861>] pci_call_probe+0x11/0x20
 [<c022e8ba>] __pci_device_probe+0x4a/0x60
 [<c022e8ef>] pci_device_probe+0x1f/0x40
 [<c027fb33>] driver_probe_device+0x53/0xa0
 [<c027fc00>] __driver_attach+0x0/0x80
 [<c027fc7b>] __driver_attach+0x7b/0x80
 [<c027f078>] bus_for_each_dev+0x58/0x80
 [<c0222470>] kobject_add+0x60/0x100
 [<c027fc95>] driver_attach+0x15/0x20
 [<c027fc00>] __driver_attach+0x0/0x80
 [<c027f599>] bus_add_driver+0x69/0xa0
 [<c0280129>] driver_register+0x59/0x90
 [<c022eb5e>] __pci_register_driver+0x3e/0x60
 [<f884300f>] ehci_hcd_init+0xf/0x12 [ehci_hcd]
 [<c0131432>] sys_init_module+0xe2/0x160
 [<c0102e9d>] sysenter_past_esp+0x56/0x79
handlers:
[<f885b8e0>] (usb_hcd_irq+0x0/0x60 [usbcore])
Disabling IRQ #10



These errors and the slow boot time are solved adding "acpi=off" parameter to puppy boot. Very Happy

Without this parameter the internal HD is unusable and even worst booting the original Windows 7 OS caused a restore procedure (note that HD information is intact but Windows found something wrong...)

Wireless:

It was not recognized by Network wizard, I checked the device:

Code:
# lspci -nn | grep 14e4
06:00.0 Class 0280: 14e4:4315 (rev 01)


The [14e4:4315] part is the PCI-ID and it identifies a Broadcom 4312 Chip.

I tried to compile latest SAT Broadcom driver (hybrid for 32 bit) in Puppy 214X:

1. Create a new directory: mkdir hybrid_wl
2. Go to that directory: cd hybrid_wl
3. Untar: tar -xzf <path>/hybrid-portsrc_x86_32-v5_100_82_38.tar.gz

Then I have a src and lib sub directory plus a Linux 2.6 external makefile (Makefile). The lib sub directory has the pre-built binary, wlc_hybrid.o_shipped.

To make a Linux loadable kernel module (LKM) just run:

#make

In fact executing "make" on /hybri_wl, this command internally executes the full comand:

Quote:
make -C /lib/modules/<2.6.xx.xx>/build M=`pwd`


It creates some wl files, I copied the file wl.ko to /lib/modules/<kernel-version>/kernel/net/

Later, I executed;

Quote:
depmod


for driver dependencies, later I loaded the following drivers in the order:

1.
Code:
modprobe ieee80211

2.
Code:
modprobe ieee80211_crypt

3.
Code:
modprobe ieee80211_crypt_tkip


Finally the new compiled module must be loaded:

Code:
"modprobe wl"


sadly this didn´t work for Puppy 214X, I get some errors with dmesg:
Quote:

wl: module license 'unspecified' taints kernel.
ACPI: PCI Interrupt 0000:06:00.0[A] -> Link [LNKD] -> GSI 11 (level, low) -> IRQ 11
PCI: Setting latency timer of device 0000:06:00.0 to 64
BUG: unable to handle kernel paging request at virtual address 00001510
printing eip:
f8d89c36
*pde = 00000000
Oops: 0002 [#1]
Modules linked in: wl ieee80211_crypt snd_pcm_oss evdev snd_mixer_oss fan thermal processor ac button battery lp parport_pc parport ohci1394 ieee1394 usb_storage snd_hda_intel snd_hda_codec snd_pcm snd_timer snd soundcore snd_page_alloc i2c_i801 i2c_core r1000 fuse unionfs nls_iso8859_1 nls_cp437 sr_mod ide_cd cdrom sg usbhid uhci_hcd ehci_hcd usbcore
CPU: 0
EIP: 0060:[<f8d89c36>] Tainted: PF VLI
EFLAGS: 00210206 (2.6.18.1 #1)
EIP is at osl_malloc+0x26/0x30 [wl]
eax: 00000000 ebx: 000014e4 ecx: dfd5b000 edx: 00000020
esi: dfd5b000 edi: f5815d94 ebp: 00004315 esp: f5815d50
ds: 007b es: 007b ss: 0068
Process modprobe.bin (pid: 9501, ti=f5814000 task=dffd8560 task.ti=f5814000)
Stack: 000014e4 00000660 f8cebf7f 000014e4 dfd5b000 f8cec769 000014e4 dfd5b000
c23b9800 000014e4 f8ccf3e5 00004000 f88c3fff e4000000 00004000 00000000
f88c0000 00000000 c011145c f88c0000 f88c4000 f4000000 f63c5280 dfd5b000
Call Trace:
[<f8cebf7f>] wlc_calloc+0xb/0x17e [wl]
[<f8cec769>] wlc_attach_malloc+0x14/0x2ea [wl]
[<f8ccf3e5>] wlc_attach+0x39/0xba8 [wl]
[<c011145c>] __ioremap+0xdc/0x100
[<f8d8a534>] wl_attach+0x154/0x400 [wl]
[<c0116a3d>] release_console_sem+0x3d/0xb0
[<c02f5d24>] pci_mmcfg_write+0x64/0x110
[<c02f5d24>] pci_mmcfg_write+0x64/0x110
[<c02f765b>] pci_write+0x2b/0x30
[<c022a239>] pci_bus_write_config_dword+0x29/0x30
[<f8d8a8ce>] wl_pci_probe+0xae/0x100 [wl]
[<c022e861>] pci_call_probe+0x11/0x20
[<c022e8ba>] __pci_device_probe+0x4a/0x60
[<c022e8ef>] pci_device_probe+0x1f/0x40
[<c027fb33>] driver_probe_device+0x53/0xa0
[<c027fc00>] __driver_attach+0x0/0x80
[<c027fc7b>] __driver_attach+0x7b/0x80
[<c027f078>] bus_for_each_dev+0x58/0x80
[<c0222470>] kobject_add+0x60/0x100
[<c027fc95>] driver_attach+0x15/0x20
[<c027fc00>] __driver_attach+0x0/0x80
[<c027f599>] bus_add_driver+0x69/0xa0
[<c0280129>] driver_register+0x59/0x90
[<c022eb5e>] __pci_register_driver+0x3e/0x60
[<f88ba00f>] wl_module_init+0xf/0x12 [wl]
[<c0131432>] sys_init_module+0xe2/0x160
[<c0102f07>] syscall_call+0x7/0xb
Code: 90 90 90 90 90 56 53 8b 5c 24 0c 8b 74 24 10 6a 20 56 e8 ae 5c 3c c7 59 85 c0 5a 74 0a 85 db 74 03 01 73 28 5b 5e c3 85 db 74 03 <ff> 43 2c 5b 31 c0 5e c3 89 f6 8b 44 24 04 85 c0 8b 4c 24 08 8b
EIP: [<f8d89c36>] osl_malloc+0x26/0x30 [wl] SS:ESP 0068:f5815d50



I was disappointed but didn´t get up so I test it with ndiswrapper:

I tried different Windows drivers on ndiswrapper without luck, then found some Linux forum and tried the following:

unzip Dell_multi-device_A17_R174291.exe
cp bcmwl5.inf /ndiswrapper_drivers
cp bcmwl5.sys /ndiswrapper_drivers


Puppy Network Wizard already comes with the option to load the .inf file for ndiswrapper and install the driver, so the following commands are not neccesary if Network wizard is used:

Code:
cd /ndiswrapper_drivers
ndiswrapper -i bcmwl5.inf


# Verify ndiswrapper driver installation
Code:
ndiswrapper -l
bcmwl5 : driver installed
 device (14E4:4315) present


#Puppy installation
Code:
depmod
modprobe ndiswrapper
ndiswrapper -ma


At this point Puppy could see the Broadcom 4312 wireless card Very Happy

I hope this information could be helpfull for Dell Vostro users with similar problems

Regards,
clarf
ndiswrapper_R174291_drivers.zip
Description  bcmwl5.inf and bcmwl5.sys files
zip

 Download 
Filename  ndiswrapper_R174291_drivers.zip 
Filesize  544.52 KB 
Downloaded  141 Time(s) 
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [1 Post]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » House Training » HOWTO ( Solutions )
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0724s ][ Queries: 12 (0.0083s) ][ GZIP on ]