OpenWrt Forum Archive

Topic: BCM6348 (DV4210): miniPCI not working in 12.09

The content of this topic has been archived on 24 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi,

I have a Livebox 1 router with a custom Redboot on which I was running a Backfire 10.03.1 image from here. Everything was working fine, including the miniPCI wireless card (BCM4318). For instance, when I run:

cat /proc/bus/pci/devices

I got the info about the miniPCI card inserted.

Now, for a project I am working on, I tried to compile Attitude 12.09 for this board, but I couldn't get to make the miniPCI slot work. In the configuration process added the b43 drivers for the wireless card, and also the ath9k for another card I have, but there's no way to see them in /proc/bus/pci/devices. The kmod-bcma was selected too.

In the kernel configuration I made sure that "Support for PCI controller" was selected in "Bus options (PCI, PCMCIA...", and later I also tried enabling "Device drivers ---> Broadcom specific AMBA ---> BCMA Support". The result is that no miniPCI card is detected at all.

What can I do to make the miniPCI slot work? If it worked in 10.03.1... it should be working with 12.09. Shouldn't it? Any help will be appreciated.

Thank you very much!

[    0.000000] Linux version 3.3.8 (lino@xeon) (gcc version 4.6.3 20120201 (prerelease) (Linaro GCC 4.6-2012.02) ) #7 Wed Apr 17 11:18:24 CEST 2013
[    0.000000] Detected Broadcom 0x6348 CPU revision b0
[    0.000000] CPU frequency is 256 MHz
[    0.000000] 16MB of RAM installed
[    0.000000] registering 37 GPIOs
[    0.000000] gpiochip_add: registered GPIOs 0 to 36 on device: bcm63xx-gpio
[    0.000000] board_livebox: Livebox BLUE5G.9
[    0.000000] board_livebox: resetting gpio6 for eth1...
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU revision is: 00029107 (Broadcom BMIPS3300)
[    0.000000] board_livebox: board name: Livebox-blue-5g
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 01000000 @ 00000000 (usable)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] Zone PFN ranges:
[    0.000000]   Normal   0x00000000 -> 0x00001000
[    0.000000] Movable zone start PFN for each node
[    0.000000] Early memory PFN ranges
[    0.000000]     0: 0x00000000 -> 0x00001000
[    0.000000] Reserving 0MB of memory at 0MB for crashkernel
[    0.000000] Built 1 zonelists in Zone order, mobility grouping off.  Total pages: 4064
[    0.000000] Kernel command line:  root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200
[    0.000000] PID hash table entries: 64 (order: -4, 256 bytes)
[    0.000000] Dentry cache hash table entries: 2048 (order: 1, 8192 bytes)
[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.000000] Primary instruction cache 16kB, VIPT, 2-way, linesize 16 bytes.
[    0.000000] Primary data cache 8kB, 2-way, VIPT, no aliases, linesize 16 bytes
[    0.000000] Memory: 13044k/16384k available (2239k kernel code, 3340k reserved, 398k data, 164k init, 0k highmem)
[    0.000000] NR_IRQS:128
[    0.000000] Calibrating delay loop... 254.46 BogoMIPS (lpj=508928)
[    0.040000] pid_max: default: 32768 minimum: 301
[    0.044000] Mount-cache hash table entries: 512
[    0.064000] NET: Registered protocol family 16
[    0.088000] board_livebox: flash address is: 0x1fc00000, forcing to: 0x1e400000
[    0.132000] bio: create slab <bio-0> at 0
[    0.152000] Switching to clocksource MIPS
[    0.180000] NET: Registered protocol family 2
[    0.188000] IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.196000] TCP established hash table entries: 512 (order: 0, 4096 bytes)
[    0.204000] TCP bind hash table entries: 512 (order: -1, 2048 bytes)
[    0.208000] TCP: Hash tables configured (established 512 bind 512)
[    0.216000] TCP reno registered
[    0.220000] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.224000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.232000] NET: Registered protocol family 1
[    0.248000] audit: initializing netlink socket (disabled)
[    0.252000] type=2000 audit(0.252:1): initialized
[    0.260000] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.268000] JFFS2 version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.280000] msgmni has been set to 25
[    0.284000] io scheduler noop registered
[    0.288000] io scheduler deadline registered (default)
[    0.300000] bcm63xx_uart.0: ttyS0 at MMIO 0xfffe0300 (irq = 10) is a bcm63xx_uart
[    0.308000] console [ttyS0] enabled, bootconsole disabled
[    0.308000] console [ttyS0] enabled, bootconsole disabled
[    0.332000] physmap platform flash device: 00800000 at 1e400000
[    0.340000] physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank. Manufacturer ID 0x000001 Chip ID 0x001000
[    0.348000] Amd/Fujitsu Extended Query Table at 0x0040
[    0.356000]   Amd/Fujitsu Extended Query version 1.3.
[    0.360000] number of CFI chips: 1
[    0.364000] Searching for RedBoot partition table in physmap-flash.0 at offset 0x7f0000
[    0.392000] 6 RedBoot partitions found on MTD device physmap-flash.0
[    0.396000] Creating 6 MTD partitions on "physmap-flash.0":
[    0.404000] 0x000000000000-0x000000030000 : "RedBoot"
[    0.416000] 0x000000030000-0x000000170000 : "kernel"
[    0.432000] 0x000000170000-0x000000310000 : "user_fs"
[    0.444000] 0x000000310000-0x0000007f0000 : "rootfs_data"
[    0.460000] 0x0000007f0000-0x0000007ff000 : "FIS directory"
[    0.472000] 0x0000007ff000-0x000000800000 : "RedBoot config"
[    0.504000] bcm63xx_enet MII bus: probed
[    0.512000] bcm63xx_enet bcm63xx_enet.0: attached PHY at address 1 [Broadcom BCM63XX (1)]
[    0.528000] bcm63xx_enet MII bus: probed
[    0.532000] bcm63xx_enet bcm63xx_enet.1: attached PHY at address 31 [Generic PHY]
[    0.552000] bcm63xx-wdt bcm63xx-wdt:  started, timer margin: 30 sec
[    0.572000] TCP cubic registered
[    0.576000] NET: Registered protocol family 17
[    0.580000] 8021q: 802.1Q VLAN Support v1.8
[    0.600000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2.
[    0.608000] Freeing unused kernel memory: 164k freed
awk: /proc/cpuinfo: No such file or directory
- preinit -
Press the [f] key and hit [enter] to enter failsafe mode
- regular preinit -
[   11.516000] JFFS2 notice: (325) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found.
switching to jffs2
- init -

Please press Enter to activate this console. [   15.260000] Compat-drivers backport release: compat-drivers-2012-09-04-2-gddac993
[   15.268000] Backport based on wireless-testing.git master-2012-09-07
[   15.272000] compat.git: wireless-testing.git
[   15.384000] cfg80211: Calling CRDA to update world regulatory domain
[   15.388000] cfg80211: World regulatory domain updated:
[   15.396000] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[   15.404000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   15.412000] cfg80211:   (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[   15.420000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[   15.428000] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   15.436000] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   16.460000] usbcore: registered new interface driver usbfs
[   16.468000] usbcore: registered new interface driver hub
[   16.476000] usbcore: registered new device driver usb
[   16.540000] lib80211: common routines for IEEE802.11 drivers
[   18.304000] usbcore: registered new interface driver rt2800usb
[   18.364000] bcma: exports duplicate symbol bcma_core_dma_translation (owned by kernel)
[   18.972000] Broadcom 43xx driver loaded [ Features: PNL ]
[   19.084000] Button Hotplug driver version 0.4.1
[   19.448000] ip_tables: (C) 2000-2006 Netfilter Core Team
[   19.960000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   20.048000] nf_conntrack version 0.5.0 (206 buckets, 824 max)
[   20.964000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   21.076000] bcm63xx_ohci bcm63xx_ohci.0: BCM63XX integrated OHCI controller
[   21.080000] bcm63xx_ohci bcm63xx_ohci.0: new USB bus registered, assigned bus number 1
[   21.092000] bcm63xx_ohci bcm63xx_ohci.0: irq 20, io mem 0xfffe1b00
[   21.156000] hub 1-0:1.0: USB hub found
[   21.160000] hub 1-0:1.0: 1 port detected
[   21.232000] input: gpio-keys-polled as /devices/platform/gpio-keys-polled.0/input/input0
[   21.492000] usb 1-1: new full-speed USB device number 2 using bcm63xx_ohci
[   21.812000] usb 1-1: reset full-speed USB device number 2 using bcm63xx_ohci
[   31.760000] device eth1 entered promiscuous mode
[   34.656000] eth0: link UP - 100/full - flow control off

(Last edited by lordroger on 17 Apr 2013, 10:57)

As danitool has reported:

creo que ya he detectado el problema: linea 210 del archivo
I think I've detected the problem: line 210 in file
build_dir/linux-brcm63xx/linux-3.3.8/arch/mips/bcm63xx/boards/board_livebox.c

Falta poner encima
This is missing

bcm63xx_pci_enabled = 1;

Quedando esa sección algo tal que así
Leading to something like this

#ifdef CONFIG_PCI
if (board.has_pci) {
bcm63xx_pci_enabled = 1;
if (BCMCPU_IS_6348())
val |= GPIO_MODE_6348_G2_PCI;
}
#endif

Now the miniPCI slot is working. We will post a patch soon.

(Last edited by lordroger on 17 Apr 2013, 12:14)

The discussion might have continued from here.