Vodafone/Huawei HG556a HG56BZRB VER.A (VoIP chip Le88266DLC)
LEDE Reboot (17.01.4, r3560-79f57e422d)
Module bcm63xx-phone.ko
loads and initializes successfully but bcm63xx-phone-test
fails with:
ioctl(2149598476) failed. errno=22
Error starting
The parameters I used with bcm63xx-phone-test and some additional debug output ithat may be useful are below.
Using different values for the defaults didn't notice any difference either.
root@OpenWrt:~# modprobe /lib/modules/4.4.92/bcm63xx-phone.ko
root@OpenWrt:~# dmesg -c
[ 198.756476] bcm63xx_phone: bcm63xx_phone: v0.2
[ 198.761153] bcm63xx_phone bcm63xx_phone_init() 1021: bcm63xx_phone_init()
[ 198.768233] bcm63xx_phone board_init() 719: board_init()
[ 198.773737] bcm63xx_phone: CPU is Broadcom 6358
[ 198.778447] bcm63xx_phone: Board is HW556
[ 198.782617] bcm63xx_phone board_get_desc() 778: board_get_desc()
[ 198.788924] bcm63xx_phone bcm_periodic_timer_init() 249: bcm_periodic_timer_init()
[ 198.796778] bcm63xx_phone bcm_timer_init() 191: bcm_timer_init()
[ 198.803009] bcm63xx_phone bcm_period_init() 28: bcm_period_init()
[ 198.809343] bcm63xx_phone bcm63xx_phone_init() 1081: t->mm_desc.ioctl_param_off = 0, t->mm_desc.ioctl_param_size = 220
[ 198.820456] bcm63xx_phone bcm63xx_phone_init() 1090: t->mm_desc.rbs[0].rx_ring_buf_desc_off = 224, t->mm_desc.rbs[0].rx_ring_buf_desc_size = 12
[ 198.833783] bcm63xx_phone bcm63xx_phone_init() 1098: t->mm_desc.rbs[0].tx_ring_buf_desc_off = 240, t->mm_desc.rbs[0].tx_ring_buf_desc_size = 12
[ 198.847149] bcm63xx_phone bcm63xx_phone_init() 1090: t->mm_desc.rbs[1].rx_ring_buf_desc_off = 256, t->mm_desc.rbs[1].rx_ring_buf_desc_size = 12
[ 198.860468] bcm63xx_phone bcm63xx_phone_init() 1098: t->mm_desc.rbs[1].tx_ring_buf_desc_off = 272, t->mm_desc.rbs[1].tx_ring_buf_desc_size = 12
[ 198.873895] bcm63xx_phone bcm63xx_phone_init() 1128: 8192 bytes of memory allocated, starting at address 0x80c70000
[ 198.884705] bcm63xx_phone bcm_phone_mgr_init() 1048: bcm_phone_mgr_init()
[ 198.891745] bcm63xx_phone bcm_periodic_work_init() 92: bcm_periodic_work_init()
[ 198.899314] bcm63xx_phone bcm_period_init() 28: bcm_period_init()
[ 198.905633] bcm63xx_phone bcm_phone_mgr_devs_init() 907: bcm_phone_mgr_devs_init()
[ 198.913477] bcm63xx_phone phone_device_alloc() 53: phone_device_alloc()
[ 198.920372] bcm63xx_phone phone_device_alloc() 82: 2032 bytes of memory allocated, starting at address 0x82eb3000
[ 198.931024] bcm63xx_phone phone_dev_le88266_init() 56: phone_dev_le88266_init()
[ 198.938600] bcm63xx_phone phone_dev_zarlink_ve880_init() 2017: phone_dev_zarlink_ve880_init()
[ 198.947430] bcm63xx_phone bcm_mpi_init() 878: bcm_mpi_init()
[ 198.953472] bcm63xx_phone bcm63xx_spi_probe() 414: bcm63xx_spi_probe()
[ 198.960350] bcm63xx-spi bcm6358-spi: at 0xfffe0800 (irq 9, FIFOs size 542)
[ 198.967860] bcm63xx_phone phone_dev_zarlink_init() 678: phone_dev_zarlink_init()
[ 198.975563] bcm63xx_phone zarlink_reset() 162: zarlink_reset(gpio_num=0x8018)
[ 199.050732] bcm63xx_phone phone_device_init() 28: phone_device_init()
[ 199.057432] bcm63xx_phone zarlink_device_id_init() 456: zarlink_device_id_init()
[ 199.065151] bcm63xx_phone: 1 device(s) provides 2 FXS line(s)
[ 199.071132] bcm63xx_phone bcm_phone_mgr_init() 1072: Initializing event wait queue
[ 199.078984] bcm63xx_phone bcm_wait_queue_init() 31: bcm_wait_queue_init()
[ 199.086022] bcm63xx_phone bcm_drv_init() 1173: bcm_drv_init()
[ 199.091991] bcm63xx_phone bcm_drv_init() 1178: Initializing RX wait queue
[ 199.099032] bcm63xx_phone bcm_wait_queue_init() 31: bcm_wait_queue_init()
[ 199.106072] bcm63xx_phone bcm_drv_init() 1180: Initializing TX wait queue
[ 199.113130] bcm63xx_phone bcm_wait_queue_init() 31: bcm_wait_queue_init()
[ 199.120173] bcm63xx_phone bcm_drv_init() 1195: Registering device bcm63xx_phone
[ 199.128180] bcm63xx_phone pcm_init() 2531: pcm_init()
[ 199.133478] bcm63xx_phone pcm_init() 2607: Using 15 buffers of 256 bytes for RX
[ 199.141060] bcm63xx_phone pcm_init() 2649: Using 15 buffers of 256 bytes for TX
[ 199.148685] bcm63xx_phone pcm_get_shared_res() 1986: pcm_get_shared_res()
[ 199.155757] bcm63xx_phone pcm_get_mem_res() 1942: pcm_get_mem_res(id=pcm, addr=0xfffe1600, size=256)
[ 199.165236] bcm63xx_phone pcm_get_mem_res() 1942: pcm_get_mem_res(id=pcm_dma, addr=0xfffe1800, size=256)
[ 199.175070] bcm63xx_phone pcm_get_mem_res() 1942: pcm_get_mem_res(id=pcm_dmac, addr=0xfffe1900, size=32)
[ 199.184898] bcm63xx_phone pcm_get_mem_res() 1942: pcm_get_mem_res(id=pcm_dmas, addr=0xfffe1a00, size=32)
[ 199.282733] bcm63xx_phone pcm6358_pll_init() 1001: pcm6358_pll_init()
[ 199.289450] bcm63xx_phone pcm6358_pll_init() 1006: pll_ctrl1=f0010001, pll_ctrl2=53d47, pll_ctrl3=a85
[ 199.330741] bcm63xx_phone pcm6358_pll_init() 1059: pll_ctrl1=20001, pll_ctrl2=8492b, pll_ctrl3=1e1c
[ 199.340245] bcm63xx_phone pcm_regs_init() 1279: pcm_regs_init()
[ 199.346410] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 199.352780] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 199.360020] bcm63xx_phone pcm_dma_init() 1538: pcm_dma_init()
[ 199.365986] bcm63xx_phone pcm_dma_init() 1571: Allocating 120 bytes of DMA memory for RX descs
[ 199.374973] bcm63xx_phone pcm_dma_init() 1582: 120 bytes of memory allocated, starting at address 0xa0c82000
[ 199.385153] bcm63xx_phone pcm_dma_init() 1588: Allocating 120 bytes of DMA memory for TX descs
[ 199.394135] bcm63xx_phone pcm_dma_init() 1599: 120 bytes of memory allocated, starting at address 0xa0c81000
[ 199.404323] bcm63xx_phone pcm_dma_init() 1607: Allocating 7680 bytes of memory for RX and TX data buffers
[ 199.414239] bcm63xx_phone pcm_dma_init() 1614: 7680 bytes of memory allocated, starting at address 0x82dc2000
[ 199.424518] bcm63xx_phone pcm_dma_init() 1640: Allocating 128 bytes of memory for DMA addresses
[ 199.433539] bcm63xx_phone pcm_dma_init() 1647: 128 bytes of memory allocated, starting at address 0x82d7d580
[ 199.443727] bcm63xx_phone pcm_dma_init() 1654: Mapping DMA addresses of RX descs
[ 199.451401] bcm63xx_phone pcm_dma_init() 1671: Mapping DMA addresses of TX descs
[ 199.459079] bcm63xx_phone pcm_dma_rx_descs_reset() 1374: pcm_dma_rx_descs_reset()
[ 199.466885] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 199.474712] bcm63xx_phone bcm_periodic_timer_start() 156: bcm_periodic_timer_start()
[ 199.482758] bcm63xx_phone bcm_timer_start() 179: bcm_timer_start(period_in_usecs=10000)
[ 199.491051] bcm63xx_phone bcm_timer_stop() 167: bcm_timer_stop()
[ 199.497281] bcm63xx_phone bcm_period_set_period() 42: bcm_period_set_period(period_in_usecs=10000)
[ 199.506567] bcm63xx_phone bcm_period_set_period() 61: one_jiffy_to_usecs=4000, period_in_jiffies=3, real_period=12000, drift_increment=2000
[ 199.519529] bcm63xx_phone bcm63xx_phone_init() 1188: bcm63xx_phone successfully initialized
root@OpenWrt:~# bcm63xx-phone-test test=tone
ioctl(2149598476) failed. errno=22
Error starting
root@OpenWrt:~# dmesg -c
[ 222.230898] bcm63xx_phone bcm_drv_open() 997: bcm_drv_open()
[ 222.236856] bcm63xx_phone bcm_drv_unlocked_ioctl() 640: BCMPH_IOCTL_START
[ 222.243934] bcm63xx_phone bcm_drv_start() 949: bcm_drv_start()
[ 222.250024] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 222.255911] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 222.261177] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 222.267152] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 222.277852] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 222.283387] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 222.293899] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 222.299432] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 222.306141] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 222.312471] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 222.319713] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 222.327571] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 222.334167] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 222.341021] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 222.347876] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 222.354730] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 222.361584] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 222.368460] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 222.375313] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 222.382167] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 222.389043] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 222.395932] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 222.402787] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 222.409758] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 222.418320] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
[ 222.427174] bcm63xx_phone bcm_phone_mgr_get_first_timeslot_line() 143: bcm_phone_mgr_get_first_timeslot_line(line=0)
[ 222.438062] bcm63xx_phone: Echo cancellation can be enabled for line 0 so no other codec than linear is allowed
[ 222.456315] bcm63xx_phone bcm_drv_release() 1038: bcm_drv_release()
[ 222.462864] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 222.468788] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 222.474104] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 222.480072] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 222.489849] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 222.495535] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 222.505889] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 222.511434] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 222.518138] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 222.524510] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 222.531753] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 222.539558] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 222.546151] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 222.553009] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 222.559877] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 222.566739] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 222.573617] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 222.580475] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 222.587336] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 222.594214] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 222.601094] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 222.607955] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 222.614817] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 222.621776] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 222.630347] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
root@OpenWrt:~# bcm63xx-phone-test test=echo output=/tmp/echo.dat
ioctl(2149598476) failed. errno=22
Error starting
root@OpenWrt:~# dmesg -c
[ 256.091886] bcm63xx_phone bcm_drv_open() 997: bcm_drv_open()
[ 256.100085] bcm63xx_phone bcm_drv_unlocked_ioctl() 640: BCMPH_IOCTL_START
[ 256.107227] bcm63xx_phone bcm_drv_start() 949: bcm_drv_start()
[ 256.113312] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 256.119192] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 256.124449] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 256.130419] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 256.140671] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 256.146218] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 256.156719] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 256.162249] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 256.168957] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 256.175290] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 256.182582] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 256.190433] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 256.197023] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 256.203871] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 256.210728] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 256.217583] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 256.224436] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 256.231293] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 256.238145] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 256.245000] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 256.251853] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 256.258709] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 256.265565] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 256.272506] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 256.281074] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
[ 256.289925] bcm63xx_phone bcm_phone_mgr_get_first_timeslot_line() 143: bcm_phone_mgr_get_first_timeslot_line(line=0)
[ 256.300834] bcm63xx_phone: Echo cancellation can be enabled for line 0 so no other codec than linear is allowed
[ 256.318703] bcm63xx_phone bcm_drv_release() 1038: bcm_drv_release()
[ 256.325267] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 256.331165] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 256.336440] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 256.342415] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 256.352661] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 256.358176] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 256.368712] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 256.374250] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 256.380951] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 256.387345] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 256.394593] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 256.402419] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 256.409011] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 256.415867] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 256.422723] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 256.429578] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 256.436431] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 256.443288] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 256.450141] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 256.456996] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 256.463849] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 256.470705] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 256.477560] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 256.484504] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 256.493119] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
root@OpenWrt:~# bcm63xx-phone-test test=loopback
pcm_regs =>
ctlr = 0x0
chan_ctrl = 0x0
int_pending = 0x0
int_mask = 0x0
pll_ctrl1 = 0x20001
pll_ctrl2 = 0x8492b
pll_ctrl3 = 0x1e1c
pll_ctrl4 = 0x0
pll_stat = 0x1
slot_alloc_tbl[0] = 0x0
slot_alloc_tbl[1] = 0x0
slot_alloc_tbl[2] = 0x0
slot_alloc_tbl[3] = 0x0
slot_alloc_tbl[4] = 0x0
slot_alloc_tbl[5] = 0x0
slot_alloc_tbl[6] = 0x0
slot_alloc_tbl[7] = 0x0
slot_alloc_tbl[8] = 0x0
slot_alloc_tbl[9] = 0x0
slot_alloc_tbl[10] = 0x0
slot_alloc_tbl[11] = 0x0
slot_alloc_tbl[12] = 0x0
slot_alloc_tbl[13] = 0x0
slot_alloc_tbl[14] = 0x0
slot_alloc_tbl[15] = 0x0
dma_cfg = 0x1000000
dma_channels[0].dma_flowcl = 0x0
dma_channels[0].dma_flowch = 0x0
dma_channels[0].dma_bufalloc = 0x0
dma_channels[0].dmac_chancfg = 0x0
dma_channels[0].dmac_ir = 0x0
dma_channels[0].dmac_irmask = 0x0
dma_channels[0].dmac_maxburst = 0x10
dma_channels[0].dmas_rstart = 0xc82000
dma_channels[0].dmas_sram2 = 0x0
dma_channels[0].dmas_sram3 = 0x0
dma_channels[0].dmas_sram4 = 0x0
dma_channels[1].dma_flowcl = 0x0
dma_channels[1].dma_flowch = 0x0
dma_channels[1].dma_bufalloc = 0x0
dma_channels[1].dmac_chancfg = 0x0
dma_channels[1].dmac_ir = 0x0
dma_channels[1].dmac_irmask = 0x0
dma_channels[1].dmac_maxburst = 0x10
dma_channels[1].dmas_rstart = 0xc81000
dma_channels[1].dmas_sram2 = 0x0
dma_channels[1].dmas_sram3 = 0x0
dma_channels[1].dmas_sram4 = 0x0
ioctl(2149598476) failed. errno=22
Error starting
root@OpenWrt:~# dmesg -c
[ 281.561133] bcm63xx_phone bcm_drv_open() 997: bcm_drv_open()
[ 281.587114] bcm63xx_phone bcm_drv_unlocked_ioctl() 640: BCMPH_IOCTL_START
[ 281.594210] bcm63xx_phone bcm_drv_start() 949: bcm_drv_start()
[ 281.600287] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 281.606202] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 281.611448] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 281.617422] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 281.627810] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 281.633356] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 281.643873] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 281.649406] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 281.656106] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 281.662441] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 281.669697] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 281.677517] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 281.684170] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 281.691048] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 281.697907] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 281.704773] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 281.711624] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 281.718477] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 281.725331] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 281.732186] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 281.739038] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 281.745915] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 281.752770] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 281.759726] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 281.768296] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
[ 281.777147] bcm63xx_phone bcm_phone_mgr_get_first_timeslot_line() 143: bcm_phone_mgr_get_first_timeslot_line(line=0)
[ 281.788037] bcm63xx_phone: Echo cancellation can be enabled for line 0 so no other codec than linear is allowed
[ 281.806383] bcm63xx_phone bcm_drv_release() 1038: bcm_drv_release()
[ 281.812936] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 281.818832] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 281.824120] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 281.830095] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 281.843797] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 281.849351] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 281.859792] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 281.865334] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 281.872035] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 281.878386] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 281.885671] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 281.893504] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 281.900096] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 281.906953] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 281.913810] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 281.920672] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 281.927525] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 281.934382] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 281.941244] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 281.948097] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 281.954970] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 281.961826] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 281.968681] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 281.975633] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 281.984200] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
root@OpenWrt:~# bcm63xx-phone-test test=loopback_mm
pcm_regs =>
ctlr = 0x0
chan_ctrl = 0x0
int_pending = 0x0
int_mask = 0x0
pll_ctrl1 = 0x20001
pll_ctrl2 = 0x8492b
pll_ctrl3 = 0x1e1c
pll_ctrl4 = 0x0
pll_stat = 0x1
slot_alloc_tbl[0] = 0x0
slot_alloc_tbl[1] = 0x0
slot_alloc_tbl[2] = 0x0
slot_alloc_tbl[3] = 0x0
slot_alloc_tbl[4] = 0x0
slot_alloc_tbl[5] = 0x0
slot_alloc_tbl[6] = 0x0
slot_alloc_tbl[7] = 0x0
slot_alloc_tbl[8] = 0x0
slot_alloc_tbl[9] = 0x0
slot_alloc_tbl[10] = 0x0
slot_alloc_tbl[11] = 0x0
slot_alloc_tbl[12] = 0x0
slot_alloc_tbl[13] = 0x0
slot_alloc_tbl[14] = 0x0
slot_alloc_tbl[15] = 0x0
dma_cfg = 0x1000000
dma_channels[0].dma_flowcl = 0x0
dma_channels[0].dma_flowch = 0x0
dma_channels[0].dma_bufalloc = 0x0
dma_channels[0].dmac_chancfg = 0x0
dma_channels[0].dmac_ir = 0x0
dma_channels[0].dmac_irmask = 0x0
dma_channels[0].dmac_maxburst = 0x10
dma_channels[0].dmas_rstart = 0xc82000
dma_channels[0].dmas_sram2 = 0x0
dma_channels[0].dmas_sram3 = 0x0
dma_channels[0].dmas_sram4 = 0x0
dma_channels[1].dma_flowcl = 0x0
dma_channels[1].dma_flowch = 0x0
dma_channels[1].dma_bufalloc = 0x0
dma_channels[1].dmac_chancfg = 0x0
dma_channels[1].dmac_ir = 0x0
dma_channels[1].dmac_irmask = 0x0
dma_channels[1].dmac_maxburst = 0x10
dma_channels[1].dmas_rstart = 0xc81000
dma_channels[1].dmas_sram2 = 0x0
dma_channels[1].dmas_sram3 = 0x0
dma_channels[1].dmas_sram4 = 0x0
ioctl(536888589) failed. errno=22
Error starting
root@OpenWrt:~# dmesg -c
[ 314.887481] bcm63xx_phone bcm_drv_open() 997: bcm_drv_open()
[ 314.893447] bcm63xx_phone bcm_drv_unlocked_ioctl() 731: BCMPH_IOCTL_GET_MMAP_DESC
[ 314.902083] bcm63xx_phone bcm_drv_mmap() 1097: bcm_drv_mmap()
[ 314.907945] bcm63xx_phone bcm_drv_mm_open() 1067: bcm_drv_mm_open()
[ 314.935421] bcm63xx_phone bcm_drv_unlocked_ioctl() 665: BCMPH_IOCTL_START_MM
[ 314.942798] bcm63xx_phone bcm_drv_start() 949: bcm_drv_start()
[ 314.948874] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 314.954762] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 314.960065] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 314.966072] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 314.978988] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 314.984532] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 314.994995] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 315.000525] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 315.007237] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 315.013588] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 315.020822] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 315.028636] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 315.035240] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 315.042111] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 315.048979] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 315.055846] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 315.062756] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 315.069672] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 315.076540] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 315.083397] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 315.090250] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 315.097106] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 315.103960] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 315.110928] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 315.119497] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()
[ 315.128356] bcm63xx_phone bcm_phone_mgr_get_first_timeslot_line() 143: bcm_phone_mgr_get_first_timeslot_line(line=0)
[ 315.139245] bcm63xx_phone: Echo cancellation can be enabled for line 0 so no other codec than linear is allowed
[ 315.157509] bcm63xx_phone bcm_drv_mm_close() 1072: bcm_drv_mm_close()
[ 315.164784] bcm63xx_phone bcm_drv_release() 1038: bcm_drv_release()
[ 315.171409] bcm63xx_phone bcm_drv_stop() 850: bcm_drv_stop()
[ 315.177299] bcm63xx_phone pcm_stop() 2370: pcm_stop()
[ 315.182562] bcm63xx_phone pcm_dma_stop() 1506: pcm_dma_stop()
[ 315.188527] bcm63xx_phone pcm_stop() 2382: Halting TX DMA
[ 315.199002] bcm63xx_phone pcm_stop() 2389: TX DMA halted
[ 315.204540] bcm63xx_phone pcm_stop() 2404: Halting RX DMA
[ 315.215039] bcm63xx_phone pcm_stop() 2411: RX DMA halted
[ 315.220585] bcm63xx_phone pcm_stop() 2422: Disabling all PCM channels
[ 315.227306] bcm63xx_phone pcm_regs_reset() 1223: pcm_regs_reset()
[ 315.233648] bcm63xx_phone pcm_regs_reset() 1260: PCM_CTRL_REG <- 0x23200101
[ 315.240897] bcm63xx_phone pcm_dma_tx_descs_reset() 1405: pcm_dma_tx_descs_reset()
[ 315.248715] bcm63xx_phone pcm_pr_stats() 2100: ======= Stats =======
[ 315.255325] bcm63xx_phone pcm_pr_stats() 2101: rx_errors = 0
[ 315.262191] bcm63xx_phone pcm_pr_stats() 2102: rx_length_errors = 0
[ 315.269106] bcm63xx_phone pcm_pr_stats() 2103: rx_empty_errors = 0
[ 315.276010] bcm63xx_phone pcm_pr_stats() 2104: rx_good = 0
[ 315.282865] bcm63xx_phone pcm_pr_stats() 2105: rx_bytes = 0
[ 315.289768] bcm63xx_phone pcm_pr_stats() 2106: tx_errors = 0
[ 315.296628] bcm63xx_phone pcm_pr_stats() 2107: tx_good = 0
[ 315.303481] bcm63xx_phone pcm_pr_stats() 2108: tx_bytes = 0
[ 315.310334] bcm63xx_phone pcm_pr_stats() 2109: cnt_irq_rx = 0
[ 315.317190] bcm63xx_phone pcm_pr_stats() 2110: cnt_irq_tx = 0
[ 315.324062] bcm63xx_phone bcm_phone_mgr_stop() 773: bcm_phone_mgr_stop()
[ 315.331011] bcm63xx_phone bcm_periodic_timer_del_work() 199: bcm_periodic_timer_del_work()
[ 315.339583] bcm63xx_phone phone_dev_zarlink_ve880_stop() 2174: phone_dev_zarlink_ve880_stop()