Re: what to do with brcm_patchram_plus?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Ian,

OK, so it looks like it is capable of loading the firmware - thats a big
step. sadly,

hciconfig hci0 up

results in:

Bluetooth: hci0: BCM: chip id 94
Bluetooth: hci0: BCM (001.002.009) build 0022
Bluetooth: hci0: BCM (001.002.009) build 0022
Can't init device hci0: No such device (19)

Good, Looking at the hci_bcm/btbcm driver, seems that you go through the the bcm_setup procedure
and successfully load the firmware, you rename it BCM.hcd, right ?

However I think the bcm_setup failed because of:

err = bcm_request_irq(bcm);
if (!err)
        err = bcm_setup_sleep(hu);

return err;

bcm_request_irq fails since there is no platform device attached to this uart/tty (no acpi nor DT entry). So the driver is unable to retrieve resources like gpios/irq, bcm_request_irq returns -ENODEV.

This should NOT be a problem, since the driver supports this case (without power control). However, the bcm_setup procedure returns the err value set by bcm_request_irq.

Would you be able to apply the following change to your kernel/module and retry ?

diff --git a/drivers/bluetooth/hci_bcm.c b/drivers/bluetooth/hci_bcm.c
index f87bfdf..b6e94ab 100644
--- a/drivers/bluetooth/hci_bcm.c
+++ b/drivers/bluetooth/hci_bcm.c
@@ -423,7 +423,7 @@ static int bcm_setup(struct hci_uart *hu)
        if (!err)
                err = bcm_setup_sleep(hu);

-       return err;
+       return 0;
 }


Regards,
Loic

however, I can use the old hciattach method to attach to the uart and it
works - thus the firmware is running.

I'll prod this a bit tomorrow - in the meantime, is there a known
current/good firmware for this chip? (43430a)

Thanks,

-Ian

--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux