Slackware - ARM This forum is for the discussion of Slackware ARM. |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
|
10-11-2016, 06:52 AM
|
#16
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
strange thing:
while in u-boot bot shell i can access and operate the USB devices:
Code:
=> usb reset
=> usb part
=> usb list
all work and evaluate the devices.
Moreover the USB keyboard (called key koard??) also works - excep the leds don't show CAPS/num no any light?
but after I booted the kernel, any usb device is obscured from me?
yields nothing?
however i have this strange sequence in my dmesg:
Code:
[ 0.066981] Serial: AMBA PL011 UART driver
[ 0.082155] reg-fixed-voltage usb0-vbus: could not find pctldev for node /soc
@01c00000/pinctrl@01c20800/usb0_vbus_pin@0, deferring probe
[ 0.082210] reg-fixed-voltage usb1-vbus: could not find pctldev for node /soc
@01c00000/pinctrl@01c20800/usb1_vbus_pin@0, deferring probe
[ 0.082243] reg-fixed-voltage usb2-vbus: could not find pctldev for node /soc
@01c00000/pinctrl@01c20800/usb2_vbus_pin@0, deferring probe
[ 0.083081] reg-fixed-voltage gmac-3v3: could not find pctldev for node /soc@
01c00000/pinctrl@01c20800/gmac_power_pin@0, deferring probe
[ 0.084177] vgaarb: loaded
what is pctldev and what those errors mean?
|
|
|
10-11-2016, 08:32 AM
|
#17
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,710
|
Quote:
Originally Posted by SCerovec
what is pctldev and what those errors mean?
|
Which Kernel are you using?
Are you using the correct Device tree blob for Banana Pi Pro?
Are you using the correct u-boot for Banana Pi Pro?
|
|
|
10-11-2016, 09:24 AM
|
#18
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
Quote:
Originally Posted by drmozes
Which Kernel are you using?
Are you using the correct Device tree blob for Banana Pi Pro?
Are you using the correct u-boot for Banana Pi Pro?
|
I'm using the one I synced from slackware-arm-current as per the HOWTO?
Code:
$ uname -a
Linux banarm 4.7.5-armv7 #2 SMP Mon Sep 26 22:52:36 BST 2016 armv7l Allwinner sun7i (A20) Family GNU/Linux
the other two questions:
No, I use the Banana Pi M1, so i use the bananapi blobs  ?
And my best guess is they have some issues here?
is there an easy way i can check which blob is used?
Quote:
## Error: "sun7i-a20-bananapi.dtb" not defined
|
for
Code:
printenv ${fdtfile}
on the boot loader shell prompt
Last edited by SCerovec; 10-11-2016 at 09:53 AM.
Reason: more info
|
|
|
10-11-2016, 11:00 AM
|
#19
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,710
|
Quote:
Originally Posted by SCerovec
I'm using the one I synced from slackware-arm-current as per the HOWTO?
Code:
$ uname -a
Linux banarm 4.7.5-armv7 #2 SMP Mon Sep 26 22:52:36 BST 2016 armv7l Allwinner sun7i (A20) Family GNU/Linux
the other two questions:
No, I use the Banana Pi M1, so i use the bananapi blobs  ?
And my best guess is they have some issues here?
is there an easy way i can check which blob is used?
for
Code:
printenv ${fdtfile}
on the boot loader shell prompt
|
For some reason I thought that you had a Banana Pi Pro. If you've followed the How to exactly then it should be fine.
You can tell which blob is in use by looking at the config as you have done.
I have 3 Banana Pi's here all installed using the Howto and they all work fine.
I don't know what your issue is I'm afraid!
|
|
|
10-11-2016, 11:42 AM
|
#20
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
Quote:
Originally Posted by SCerovec
strange thing:
while in u-boot bot shell i can access and operate the USB devices:
Code:
=> usb reset
=> usb part
=> usb list
all work and evaluate the devices.
Moreover the USB keyboard (called key koard??) also works - excep the leds don't show CAPS/num no any light?
but after I booted the kernel, any usb device is obscured from me?
yields nothing?
however i have this strange sequence in my dmesg:
Code:
[ 0.066981] Serial: AMBA PL011 UART driver
[ 0.082155] reg-fixed-voltage usb0-vbus: could not find pctldev for node /soc
@01c00000/pinctrl@01c20800/usb0_vbus_pin@0, deferring probe
[ 0.082210] reg-fixed-voltage usb1-vbus: could not find pctldev for node /soc
@01c00000/pinctrl@01c20800/usb1_vbus_pin@0, deferring probe
[ 0.082243] reg-fixed-voltage usb2-vbus: could not find pctldev for node /soc
@01c00000/pinctrl@01c20800/usb2_vbus_pin@0, deferring probe
[ 0.083081] reg-fixed-voltage gmac-3v3: could not find pctldev for node /soc@
01c00000/pinctrl@01c20800/gmac_power_pin@0, deferring probe
[ 0.084177] vgaarb: loaded
what is pctldev and what those errors mean?
|
Quote:
Originally Posted by drmozes
For some reason I thought that you had a Banana Pi Pro. If you've followed the How to exactly then it should be fine.
You can tell which blob is in use by looking at the config as you have done.
I have 3 Banana Pi's here all installed using the Howto and they all work fine.
I don't know what your issue is I'm afraid!
|
up there in red
could You please run
for me?
apparently the device tree is the culprit?
I did measure all test points and they are all within few percent (1.5 test point yields 1.48V, 5v0 yields 5.23V, USB input is 4.8V)
the plugged device has ~3V on one data lead, all other are 0V.
As the USB devices all resolve on u-boot i assume the dtb/* holds the key?
|
|
|
10-11-2016, 01:10 PM
|
#21
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,710
|
Quote:
Originally Posted by SCerovec
up there in red
could You please run
|
Code:
root@platano:~# lsusb -v 2>&1 | less
can't get debug descriptor: Resource temporarily unavailable
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 4.04
iManufacturer 3 Linux 4.4.19-armv7 ohci_hcd
iProduct 2 Generic Platform OHCI controller
iSerial 1 1c1c400.usb
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0012
No power switching (usb 1.0)
No overcurrent protection
bPwrOn2PwrGood 2 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Device Status: 0x0001
Self Powered
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 4.04
iManufacturer 3 Linux 4.4.19-armv7 ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 1c1c000.usb
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Device Status: 0x0001
Self Powered
Bus 001 Dcan't get debug descriptor: Resource temporarily unavailable
evice 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0001 1.1 root hub
bcdDevice 4.04
iManufacturer 3 Linux 4.4.19-armv7 ohci_hcd
iProduct 2 Generic Platform OHCI controller
iSerial 1 1c14400.usb
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0002 1x 2 bytes
bInterval 255
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x0012
No power switching (usb 1.0)
No overcurrent protection
bPwrOn2PwrGood 2 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0100 power
Device Status: 0x0001
Self Powered
Bus 003 Device 003: ID 10d5:5000 Uni Class Technology Co., Ltd
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x10d5 Uni Class Technology Co., Ltd
idProduct 0x5000
bcdDevice 0.00
iManufacturer 1 No brand
iProduct 2 Combo Free KVM
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 59
bNumInterfaces 2
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xa0
(Bus Powered)
Remote Wakeup
MaxPower 98mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 65
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfcan't get debug descriptor: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
aceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 1 Boot Interface Subclass
bInterfaceProtocol 2 Mouse
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 1.10
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 110
Report Descriptors:
** UNAVAILABLE **
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Bus 003 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 1 Single TT
bMaxPacketSize0 64
idVendor 0x05e3 Genesys Logic, Inc.
idProduct 0x0608 Hub
bcdDevice 77.63
iManufacturer 0
iProduct 1 USB2.0 Hub
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0001 1x 1 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 4
wHubCharacteristic 0x00e4
Ganged power switching
Compound device
Ganged overcurrent protection
TT think time 32 FS bits
Port indicators
bPwrOn2PwrGood 50 * 2 milli seconds
bHubContrCurrent 100 milli Ampere
DeviceRemovable 0x02
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0303 lowspeed power enable connect
Port 2: 0000.0100 power
Port 3: 0000.0100 power
Port 4: 0000.0100 power
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9 Hub
bDeviceSubClass 0
bDeviceProtocol 0 Full speed (or root) hub
bMaxPacketSize0 64
idVendor 0x1d6b Linux Foundation
idProduct 0x0002 2.0 root hub
bcdDevice 4.04
iManufacturer 3 Linux 4.4.19-armv7 ehci_hcd
iProduct 2 EHCI Host Controller
iSerial 1 1c14000.usb
bNumConfigurations 1
Configuration Descriptocan't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
r:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xe0
Self Powered
Remote Wakeup
MaxPower 0mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9 Hub
bInterfaceSubClass 0
bInterfaceProtocol 0 Full speed (or root) hub
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0004 1x 4 bytes
bInterval 12
Hub Descriptor:
bLength 9
bDescriptorType 41
nNbrPorts 1
wHubCharacteristic 0x000a
No power switching (usb 1.0)
Per-port overcurrent protection
bPwrOn2PwrGood 10 * 2 milli seconds
bHubContrCurrent 0 milli Ampere
DeviceRemovable 0x00
PortPwrCtrlMask 0xff
Hub Port Status:
Port 1: 0000.0503 highspeed power enable connect
Device Status: 0x0001
Self Powered
|
|
|
10-11-2016, 01:13 PM
|
#22
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
kind thanks!
mine just does not show anything 
|
|
|
10-12-2016, 11:32 AM
|
#23
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
this is for another thread, I focus for now on headless install.
Will report back
|
|
|
10-13-2016, 10:12 AM
|
#24
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,710
|
Quote:
Originally Posted by SCerovec
this is for another thread, I focus for now on headless install.
Will report back
|
I have just upgraded to Linux 4.8.1 and testing it has found that USB keyboard no longer works in U-Boot (yet it was previously since I was using it as the desktop test machine!)
I have upgraded to the latest build on the SD Card here, which has restored keyboard access in the u-boot console.
http://armed.slackware.com/tmp/Banan...dfsg1-1.img.xz
I've also found now after upgrading to Linux 4.8.1 that I get nothing on USB either. I'm checking the Kernel configs - it might be that some how the machine I'm using got a botched package upgrade and some how continued to work; and that the Kernel currently shipped doesn't work with USB on the Pi -- which explains your problem!
I'm looking into it.
Last edited by drmozes; 10-13-2016 at 10:47 AM.
|
|
|
10-13-2016, 10:59 AM
|
#25
|
Slackware Contributor
Registered: Apr 2008
Distribution: Slackware
Posts: 1,710
|
Quote:
Originally Posted by drmozes
I'm looking into it.
|
I've found that a config merge has managed to remove the power module required to make USB work.
I can only assume that some how I botched the package upgrades on my desktop -current Banana Pi which is why I didn't notice before now. The primary build machine for -current gets reinstalled regularly, but the desktop test one just gets upgraded.
I'm rebuilding Linux 4.8.1 with the new config and will reinstall both, and probably push out the new packages tomorrow once I've tested them.
You'll have working USB in Linux soon!
Last edited by drmozes; 10-13-2016 at 11:11 AM.
|
|
|
10-13-2016, 12:47 PM
|
#26
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
files to be tested

thats great news!
I'm been busy also 
here the "magic" script that needs be tested thoroughly.
first prerequisites:
serial connection for debug
tftp setup for testing
MMC card/setup
USB drive/setup
SATA drive/setup
microUSB cable for the OTG port
file boot.cmd
Code:
###
#
# v0.1-alpha (C) GPL cest73@ya.ru 2016 for Slackware ARM and U-BOOT
#
# Generic (hopefully) Uboot script with templates for many scenarios
# typical on-disk layout:
# /boot/ for kernel and initrd
# /boot/dtb/ for device tree files
# /boot.scr /boot.scr.uimg out filename and format:
# generated by
# ./mkimage -C none -A arm -T script -d boot.cmd boot.scr
#
# filename: boot.cmd
###
echo 'for SlackwareARM FEL boot v0.1...'
###
#
# defining the host specific parameters
#
###
# for Banana PI:
setenv fdtfile '/boot/dtb/sun7i-a20-bananapi.dtb'
setenv kernelfile '/boot/zImage-armv7'
# for setup
setenv setupfs '/boot/initrd-armv7.img'
# for everyday
setenv initrdfile '/boot/initrd-armv7'
setenv tftpfdtfile 'slackwarearm-current/dtb/sun7i-a20-bananapi.dtb'
setenv tftpkernelfile 'slackwarearm-current/zImage-armv7'
# for setup
setenv tftpsetupfs 'slackwarearm-current/initrd-armv7.img'
# for everyday
setenv tftpinitrdfile 'slackwarearm-current/initrd-armv7'
###
#
# defining the load addresses
#
###
# derived from UBOOT-FEL load address
#setenv fdt_addr_r 0x43000000
#setenv kernel_addr_r 0x42000000
#setenv ramdisk_addr_r 0x43300000
# use this for tftfp setup
setenv fdt_addr_r 0x43000000
setenv kernel_addr_r 0x46000000
setenv ramdisk_addr_r 0x47000000
###
#
# crafting the file source commands
#
###
# by ftfpboot .......... setup in the install on Banana PI HOWTO
# adjust to own TFTP server/host
setenv serverip 192.168.168.102
setenv ipaddr 192.168.168.128
tftp ${fdt_addr} ${tftpfdtfile}
tftp ${kernel_addr_r} $tftpkernelfile
# for setup
tftp ${ramdisk_addr_r} $tftpsetupfs
# for everyday
#tftp ${ramdisk_addr_r} $tftpinitrdfile
# from SCSI/SATA
#scsi reset; scsi scan
#ext4load scsi 0:1 ${fdt_addr_r} ${fdtfile}
#ext4load scsi 0:1 ${kernel_addr_r} ${kernelfile}
# for setup
#ext4load scsi 0:1 ${ramdisk_addr_r} ${setupfs}
# for every day
#ext4load scsi 0:1 ${ramdisk_addr_r} ${initrdfile}
# from MMC (tested so far)
#ext4load mmc 0:1 ${fdt_addr_r} ${fdtfile}
#ext4load mmc 0:1 ${kernel_addr_r} ${kernelfile}
# for setup
#ext4load mmc 0:1 ${ramdisk_addr_r} ${setupfs}
# for every day
#ext4load mmc 0:1 ${ramdisk_addr_r} ${initrdfile}
# from USB media
#usb reset; usb scan
#load usb 0:1 ${fdt_addr_r} ${fdtfile}
#load usb 0:1 ${kernel_addr_r} ${kernelfile}
# for setup
#load usb 0:1 ${ramdisk_addr_r} ${setupfs}
# for every day
#load usb 0:1 ${ramdisk_addr_r} ${initrdfile}
#for FEL just comment all above out - we load via the cable O.o
fdt addr ${fdt_addr_r} 0x40000
###
#
# crafting the boot arguments
#
###
### common boot arguments
#setenv bootcmd_generic ' debug earlyprintk sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 disp.screen0_output_mode=EDID
:1280x720p50 hdmi.audio=EDID:0'
setenv bootcmd_generic ' sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0'
#setenv bootcmd_generic ' debug earlyprintk'
### initial output
# for serial console
setenv slkconsole ' console=ttyS0,115200'
# or for HDMI
#setenv slkconsole ' console=tty1'
### OS related parameters
# setup with automatic network parameters
#setenv osargs " TERM=screen-256color nic=auto:eth0:dhcp root=/dev/ram rw"
# setup without LAN network
setenv osargs " TERM=screen-256color nodhcp root=/dev/ram rw"
# everyday parameters for MMC/SD card
#setenv osargs " resumedev=/dev/mmcblk0p2 root=/dev/mmcblk0p1 rootfstype=ext4 ro"
# everyday parameters for SCSI or USB
#setenv osargs " resumedev=/dev/sda2 root=/dev/sda1 waitforroot=2 rootfstype=ext4 ro"
### gluing it all together
# kernel command line
setenv bootargs ${slkconsole} ${bootcmd_generic} ${osargs}
###
#
# initial output
#
###
# passing control to kernel
bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
# here from You should be with Slackware setup or system
this file alone is  *magic*  , where ever You put it on root (/) it pulls the belonging /boot/* residing files into operation - if edited correctly (by means of toggling the many #)
then the "wizard" script doing all the "brain muscle" in our stead:
file fel-setup.sh
Code:
#!/bin/bash
####
#
# (c) GPL v3 for Slackware for ARM and Banana PI
# by cest73@yandex.ru (support on linuxquestions.org)
#
###
#init:
prog=$(which sunxi-fel)
conv=$(which mkimage)
string="AWUSBFEX soc=00001651(A20) 00000001 ver=0001 44 08 scratchpad=00007e00 00000000 00000000"
spl="u-boot-sunxi-with-spl.bin"
bootcmd="boot.cmd"
bootscr="boot.scr"
echo "checking for ${conv}"
if [ -x ${conv} ] ; then
echo "converting:"
$conv -C none -A arm -T script -d ${bootcmd} ${bootscr}
else
echo "can't convert the ${bootcmd} file."
if [ -a ${bootscr} ] ; then
echo "WARNING: present [${bootscr}] will be used!"
else
echo "we have nothing to fall back to, aborting."
exit 2
fi
fi
echo "checking for ${prog}"
if [ -x ${prog} ] ; then
echo "detecting:"
device=$(lsusb -d 1f3a:efe8 | awk '{print $2"-"$4}' | sed -e "s/://" -e "s/-/:/")
if [ -z $device ]; then
echo -ne "Did You plug the USB to DC or OTG port?\n Also the board needs to be in FEL mode.\n"
exit 2
fi
echo "device detected: ["${device}"],"
echo "checking:"
extract=$($prog -d ${device} ver)
echo "got response:["${extract}"]"
if [ "X${extract}"=="X${string}" ]; then
echo "*** it's a match! ***"
else
echo "it's not a match."
exit 2
fi
else
echo "no executable found: sunxi-fel is part of sunxi tools from sunxi u-boot package"
exit 2
fi
echo "locating the SPI file:["$spl"]:"
#spl_file=$(slocate -n1 ${spl} | grep "\/${file}")
spl_file=${spl}
echo "checking for ["$spl_file"]"
if [ -a "${spl_file}" ] ; then
echo "found ["${spl_file}"]"
else
echo "no spi file found"
exit 2
fi
echo "uploading to device:"
# this is for "zero playload" cases as tftp boot etc...
# $prog -p -v uboot ${spl_file} \
# write 0x43100000 boot.scr
#exit 1
$prog -p -v uboot ${spl_file} \
write 0x43100000 boot.scr \
write 0x43000000 sun7i-a20-bananapi.dtb \
write 0x46000000 zImage-armv7 \
write 0x47000000 initrd-armv7.img #<-- setup
WARNING: ALPHA CODE - it will break things, errors are only marginally handled!
patches only are welcome
insufficiently commented patches will be > /dev/null 
tested so far:
OTG works
boot.scr works via OTG ("fel-boot")
fel-boot works - reset while holding K3 key
USB works in u-boot (latest stable 2016 here)
auto detection in U-boot works (mostly)
MMC boot works (this script boots my MMC setup)
tftp boot works (only way setup wants to mount /dev/ram is tftp - why?)
fel-boot works for MMC (i boot the USB supplied kernel and run the MMC residing OS)
fel-boot can't mount "root" fs from setup's initrd? yet it mounts from tftp - the same exact files
also i provided a downloadable tarbal with my binary files I tested all with:
fel-setup-01tar.gz ~56Mb
Last edited by SCerovec; 10-14-2016 at 12:48 AM.
Reason: re stated welcome inputs
|
|
|
10-14-2016, 12:47 AM
|
#27
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
Quote:
Originally Posted by drmozes
I've found that a config merge has managed to remove the power module required to make USB work.
I can only assume that some how I botched the package upgrades on my desktop -current Banana Pi which is why I didn't notice before now. The primary build machine for -current gets reinstalled regularly, but the desktop test one just gets upgraded.
I'm rebuilding Linux 4.8.1 with the new config and will reinstall both, and probably push out the new packages tomorrow once I've tested them.
You'll have working USB in Linux soon!
|
In no way am I to be considered an authority on kernel builds, but so far I found that doing a cross-release config merge is fastest accomplished by hand:
1. run a diff on .configs and examine only changes that might be enabled
2. any changes made that make the "menuconfig" menu structure look odd will probably result in a compile break
3. Probably You'll end up doing something in between oldconfig and newconfig so take the time
4. enabling as few at a time and test-compile is a good idea
Last time i tried to merge a config (4.8 -> 4.7.?) i ended up in abandoning the try all together?
Also it's understood that moving a config is only reasonable on a vanilla kernel
I noticed PCI support on "our" kernel, are there ARM based PCI boards too?
|
|
|
11-11-2016, 04:51 AM
|
#28
|
Senior Member
Registered: Oct 2006
Location: Cp6uja
Distribution: Slackware on x86 and arm
Posts: 2,569
Original Poster
|
Update: the banana pi is happily serving as NAS with the 1TB 3.5" HDD in our house:
smb/ftp/ssh
has screen/tmux for torrent sessions
has sbotools and slackpkg for maintainance
I only miss the GBit LAN switch for full feature set now.
maybe there be pictures...
|
|
|
All times are GMT -5. The time now is 11:08 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|