so i modified the code to dump the following registers...
pr_err("ar933x reg dump: 0x%x, 0x%x, 0x%x, 0x%x", __raw_readl((const volatile void *) 0xbb000184), __raw_readl((const volatile void *) 0xbb000188),
__raw_readl((const volatile void *) 0xb8116c84), __raw_readl((const volatile void *) 0xb8116c88));
[ 38.570000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 39.580000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 40.590000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 41.600000] ar933x reg dump: 0x10001801, 0x0, 0x84100095, 0xf01b6c
[ 41.820000] usb 1-1: new full-speed USB device number 2 using ehci-platform
[ 41.980000] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
the registers changed when the USB device was plugged in...
PPPD was then started.
[ 42.610000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 43.620000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 44.650000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 45.670000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 46.720000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 47.740000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 48.750000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
but there was no change in the values of the registers when the interface hung...
the USB was then removed... the registers changed.
root@Optimizer:/#
[ 302.290000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 303.300000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 303.600000] usb 1-1: USB disconnect, device number 2
[ 303.610000] cdc_acm 1-1:1.0: acm_ctrl_irq - usb_submit_urb failed: -19
[ 304.310000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 305.320000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
the USB was then plugged back in...
[ 382.080000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 383.090000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 384.100000] ar933x reg dump: 0x10001801, 0x0, 0x84100095, 0xf01b6c
[ 384.330000] usb 1-1: new full-speed USB device number 3 using ehci-platform
[ 384.490000] cdc_acm 1-1:1.0: ttyACM0: USB ACM device
[ 385.110000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 386.120000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 387.130000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
and the dialing repeated
[ 643.670000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 644.680000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 645.690000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 646.700000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 647.710000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 648.720000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
i do notice that when the usb is being used (and its working the registers do change often)
598.220000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 599.230000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 600.240000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 601.250000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 602.260000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 603.270000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 604.280000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 605.290000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 606.300000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 607.310000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 608.320000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 609.330000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 610.340000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 611.350000] ar933x reg dump: 0x10001405, 0x0, 0x84100095, 0xf01b6c
[ 612.360000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 613.370000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 614.380000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
i did get this when i unplugged the hung device this time...
760.830000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 761.840000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 762.850000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
[ 763.380000] usb 1-1: USB disconnect, device number 3
[ 763.380000] cdc_acm 1-1:1.0: acm_ctrl_irq - usb_submit_urb failed: -19
[ 763.860000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 763.960000] ------------[ cut here ]------------
[ 763.960000] WARNING: at drivers/tty/tty_io.c:1357 0x801849e4()
[ 763.970000] Modules linked in: pl2303 ftdi_sio usbserial snd_usb_audio snd_usbmidi_lib cdc_acm ath79_wdt ohci_hcd ledtrig_usbdev ledtrig_netdev nf_nat_irc nf_conntrack_irc nf_nat_ftp nf_conntrack_ftp ipt_MASQUERADE iptable_nat nf_nat xt_conntrack xt_CT xt_NOTRACK iptable_raw xt_state nf_conntrack_ipv4 nf_defrag_ipv4 nf_conntrack ehci_hcd ipt_REJECT xt_TCPMSS ipt_LOG xt_comment xt_multiport xt_mac xt_limit iptable_mangle iptable_filter ip_tables xt_tcpudp x_tables tty0tty(O) snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd_page_alloc snd soundcore ppp_async ppp_generic slhc ath9k(O) ath9k_common(O) ath9k_hw(O) ath(O) mac80211(O) usbcore usb_common nls_base crc_ccitt cfg80211(O) compat(O) input_core arc4 aes_generic crypto_algapi ledtrig_timer ledtrig_default_on leds_gpio gpio_button_hotplug(O)
[ 764.040000] Call Trace:[<802618ac>] 0x802618ac
[ 764.040000] [<802618ac>] 0x802618ac
[ 764.050000] [<800719fc>] 0x800719fc
[ 764.050000] [<801849e4>] 0x801849e4
[ 764.050000] [<80071a40>] 0x80071a40
[ 764.060000] [<80182c9c>] 0x80182c9c
[ 764.060000] [<801849e4>] 0x801849e4
[ 764.060000] [<800e0b4c>] 0x800e0b4c
[ 764.070000] [<800aa288>] 0x800aa288
[ 764.070000] [<800db20c>] 0x800db20c
[ 764.080000] [<800e0d8c>] 0x800e0d8c
[ 764.080000] [<800db0f8>] 0x800db0f8
[ 764.080000] [<800d5838>] 0x800d5838
[ 764.090000] [<800e43ec>] 0x800e43ec
[ 764.090000] [<800e462c>] 0x800e462c
[ 764.090000] [<8009e828>] 0x8009e828
[ 764.100000] [<800e4a10>] 0x800e4a10
[ 764.100000] [<800eedd4>] 0x800eedd4
[ 764.100000] [<800e1478>] 0x800e1478
[ 764.110000] [<800d68a0>] 0x800d68a0
[ 764.110000] [<80264f54>] 0x80264f54
[ 764.110000] [<8006a204>] 0x8006a204
[ 764.120000]
[ 764.120000] ---[ end trace 069ae56fe57b7b73 ]---
[ 764.870000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 765.880000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 766.890000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 767.900000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 768.910000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 769.920000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 770.930000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 771.940000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 772.950000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
[ 773.960000] ar933x reg dump: 0x1c001000, 0x0, 0x84100095, 0xf01b6c
here is an example of where the registers did not change between working and not working...
ep 8 16:00:22 Optimizer local2.info chat[3558]: ^M
Sep 8 16:00:22 Optimizer local2.info chat[3558]: OK
Sep 8 16:00:22 Optimizer local2.info chat[3558]: -- got it
Sep 8 16:00:22 Optimizer local2.info chat[3558]: send (AT E0 V1 &D2 &C1 W2 S95=47 S0=0 +cbst=71,0,1^M)
Sep 8 16:00:22 Optimizer kern.err kernel: [ 1000.200000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:23 Optimizer local2.info chat[3558]: timeout set to 60 seconds
Sep 8 16:00:23 Optimizer local2.info chat[3558]: expect (OK)
Sep 8 16:00:23 Optimizer local2.info chat[3558]: ^M
Sep 8 16:00:23 Optimizer local2.info chat[3558]: AT E0 V1 &D2 &C1 W2 S95=47 S0=0 +cbst=71,0,1^M^M
Sep 8 16:00:23 Optimizer local2.info chat[3558]: OK
Sep 8 16:00:23 Optimizer local2.info chat[3558]: -- got it
Sep 8 16:00:23 Optimizer local2.info chat[3558]: send (ATDT008816000025^M)
Sep 8 16:00:23 Optimizer local2.info chat[3558]: expect (CONNECT)
Sep 8 16:00:23 Optimizer local2.info chat[3558]: ^M
Sep 8 16:00:24 Optimizer kern.err kernel: [ 1001.210000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:25 Optimizer kern.err kernel: [ 1002.220000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:26 Optimizer kern.err kernel: [ 1003.230000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:27 Optimizer kern.err kernel: [ 1004.240000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:28 Optimizer kern.err kernel: [ 1005.250000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:29 Optimizer kern.err kernel: [ 1006.260000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:30 Optimizer kern.err kernel: [ 1007.270000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:31 Optimizer kern.err kernel: [ 1008.280000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:32 Optimizer kern.err kernel: [ 1009.290000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:33 Optimizer kern.err kernel: [ 1010.300000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
Sep 8 16:00:34 Optimizer kern.err kernel: [ 1011.310000] ar933x reg dump: 0x10001805, 0x0, 0x84100095, 0xf01b6c
so... not sure at this time if there is a correlation between the register values and working/non working USB devices.
anyone have any ideas?
--luis