Comments (29)
Hi @briaeros,
I also had a problem getting the Ethernet working and believe I was having the same problem as you. Particularly when you described:
"The led is barely orange when buildroot is "on" (as if there are not enough power).
On Uboot , it's brightly orange at start, then stay only green. And on the original firmware the two leds are brightly on."
I tried changing the CONFIG_HIETH_MII_RMII_MODE_U and CONFIG_HIETH_MII_RMII_MODE_D options to 1 (RMII) but this didn't get the Ethernet working.
In the end I needed to also edit the net_rmii_mode function in the pinmux_hi3518.sh startup script, which was incorrectly setting the muxctrl_reg28 register to the wrong function (EPHY_CLK instead of GPIO1_3).
I've made these changes in a fork of hi35xx-buildroot, see:
mark4h@1431cc6#diff-084575f2e251e68e0dec60679d6760b3
I've also writen a longer description of diagnosing the problem in a blog post, see:
http://mark4h.blogspot.co.uk/2017/08/hi3518-camera-module-part-2-getting.html
Hope this helps,
mark4h
from hi35xx-buildroot.
Got mine fixed after 5 hours of testing and retesting. playing with u-boot scripts. Here is the final linux cmdline that works:
cat /proc/cmdline
mem=40m console=ttyAMA0,115200 mtdparts=hi_sfc:256k(uboot)ro,128k(uboot-env),128k(mfd),2m(kernel),5m(rootfs),-(user) ramdisk=4096 hieth.mdioifu=0 hieth.mdioifd=0 hieth.phyaddru=1 hieth.phyaddrd=2 init=/init root=/dev/mtdblock4 rootfstype=squashfs,jffs2 overlay=/dev/mtdblock5 overlayfstype=jffs2 ip=192.168.1.10:192.168.1.107:192.168.1.107:255.255.255.0:ipcam:eth1:off
from hi35xx-buildroot.
You need to change "rmii" to "mii" in package/himpp/himpp-hi3518v100/load3518.sh.
from hi35xx-buildroot.
Thanks for the answer and the hint.
However, no luck there. I've change the load3518.sh, then as id didn't work, adding the CONFIG_HIETH_MII_RMII_MODE_U=0
CONFIG_HIETH_MII_RMII_MODE_D=0
to the linux-3.0 config (I've test with 1 also).
But nothing seems to work.
The led is barely orange when buildroot is "on" (as if there are not enough power).
On Uboot , it's brightly orange at start, then stay only green. And on the original firmware the two leds are brightly on.
I've dump the spi firmware and "binwalk" him, but I've no idea how find the "config" of the kernel (I don't think that's possible :( ).
from hi35xx-buildroot.
@briaeros Can you see the chip name?
from hi35xx-buildroot.
The phy chip is IP101GR (http://www.bdtic.com/DataSheet/ICplus/IP101G_DS_R01_20121224.pdf ), and the Hi chip is HI3518ERBCV10D.
Someone else did make a good pdf of the module in question http://ve6sbs.sbszoo.com/projects/ipcam/53H13PE-S/53H13PE-S_Mods.pdf (I've check the reference of the chips and I've got the same).
The pcb on mine module is too dark to know how the '4' pin (MII/RMII) of the IP101GR is connected.
Thanks for your help :)
from hi35xx-buildroot.
Did you rebuild the kernel (with command make linux-rebuild)?
from hi35xx-buildroot.
I use make clean && make -j 8 to compile "from scratch" each time.
To be sure, I've (re-)cloned the git repo, add the two modification (the two lines on the linux-3.0 config and the modification on the loadhi3518.sh) .
Then , after a make hi3518v100_defconfig; I've modified the config only on two way
- adding tcpdump
- putting the rootfs in the initramfs (BR2_TARGET_ROOTFS_INITRAMFS=y) (for me, that's the most simple way of loading and testing a new firmware).
Unfortunately , this doesn't change a thing :(
I've verified with an uname -a that I've got the last compiled kernel.
"Linux hi35xx 3.0.8 #2 Mon Jan 2 23:20:10 UTC 2017 armv5tejl GNU/Linux"
I've copied the boot.txt if it could help.
boot.txt
If you've got any idea to test, I'm more than interested :)
from hi35xx-buildroot.
Do you have access to uboot? I need output of command printenv. Also output of command ifconfig (from linux console).
from hi35xx-buildroot.
Hi,
I've attached multiples files. I've found that the origin firmware is in rmii (the boot launch ./load3518 -i ar0130 , and the "load3518" command is copied in load-firmware-origin.txt).
The uboot printenv is in uboot.txt, and I've run ifconfig on both firmware (buildroot and firmware origin, which works).
I've add the kmsg of the origin firmware.
However, even if it's in rmii, it doesn't explain why it wouldn't work :'(
ifconfig-buildroot.txt
ifconfig-firmware-origin.txt
kmsg-firmware-origin.txt
load-firmware-origin.txt
uboot.txt
from hi35xx-buildroot.
Did you set BR2_TARGET_UBOOT_BOARDNAME to hi3518e?
from hi35xx-buildroot.
Hi,
I didn't, but I've done a new compile using this parameters to hi3518e (and modifying BR2_TARGET_UBOOT_HI35XX_IMAGE_CH_FILE to board/hisilicon/hi3518/boot/reg_info_hi3518e.bin).
Unfortunately , I tried to use the uboot generate with the command tftp 0x81000000 u-boot.bin then go 0x81000000 , but the network didn't work in the new uboot.
No more lucks with just the kernel and the original u-boot.
I think that my board is cursed :d
If you've know a name of a cheap board that works well, I'm eager to know it :)
from hi35xx-buildroot.
Hi, I have the same board. But I can access to the network from uboot and linux. Did you fix the problem? I bought a programmator for mx25l6406e. If you have a problem with the board loading.
from hi35xx-buildroot.
Thank you for your patience.
I've tried to modify the default configuration of uboot, to get it directly working from ram (without the uboot-env partition). But even when I put all the information that are in uboot-env.txt, I can't make it work. So I'm not really confident to put it on flash ;)
I've test with mii and rmii.
I tried to boot the new kernel from this uboot (loading it before), but without success. It didn't even take into account the uboot variable "sensor_type" and always try to launch the ov sensor. I pass the ${hieth} to kernel command line.
Modifying mdioifu and mdioifd to 1 doesn't modified the apathy of the kernel.
I've got some stm32 laying somewhere, perhaps I could convert one to make a spi progammer, but I'm not too found to desolder the chips (and I'm sure to be good enough to
How did you make your firmware image ? Juste copy each binary to the right address on the flash, or do you make a complete image before pushing it to the flash ?
(on the new uboot, I've got this environnment
bootargs=mem=32M console=ttyAMA0,115200
bootcmd=run autoboot
bootdelay=5
baudrate=115200
ethaddr=00:00:23:34:45:66
ipaddr=192.168.1.13
serverip=192.168.1.19
preboot=
netmask=255.255.255.0
bootfile="uImage"
loadaddr=0x81000000
meminfo=mem=32M
console=ttyAMA0,115200n8
mtdparts=hi_sfc:256k(uboot)ro,128k(uboot-env),128k(mfd),1536k(kernel),4m(rootfs),-(user)
commonargs=setenv bootargs ${meminfo} console=${console} mtdparts=${mtdparts}
flashboot=echo Booting from SPI Flash...; run commonargs; sf probe 0 && sf read ${loadaddr} 0x80000 0x180000 && bootm
serialboot=echo Booting from y-modem...; run commonargs; loady && bootm
autoboot=if run flashboot; then; else run serialboot; fi
sensor_type=ar0130
mdio_intf=mii
phyaddru=1
phyaddrd=2
netdev=eth0
nfsopts=hard,tcp,vers=3
hieth=hieth.mdioifu=0 hieth.mdioifd=0 hieth.phyaddru=1 hieth.phyaddrd=2
mtdparts=hi_sfc:512k(uboot)ro,256k(uboot-env),256k(mfd),2m(kernel),5m(rootfs),-(user)
commonargs=setenv bootargs ${meminfo} panic=10 console=${console} mtdparts=${mtdparts} ${hieth}
bootargsorig=mem=39M console=ttyAMA0,115200n8 root=/dev/mtdblock1 rootfstype=cramfs mtdparts=hi_sfc:256K(boot),3520K(romfs),2560K(user),1280K(web),256K(cus),320K(mt)
orig=setenv setargs setenv bootargs ${bootargsorig};run setargs;fload;bootm 0x82000000
myboot=setenv bootargs ${commonargs} && tftp 0x82000000 cam/uImage && bootm 0x82000000
HWID=8043420004748432
NID=0x0012
muxctl0=
muxval0=
gpio0=
gpioval0=
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06-dirty (Jan 12 2017 - 00:05:51)
)
from hi35xx-buildroot.
has anyone figured this out. I have same problem on a hi3518e juan board. have linux, uboot, running pretty goo finally after trashing 2 boards and now unsoldering spi chip 8 times. now im pretty good at it... LOL
from hi35xx-buildroot.
my board has full network connectivity in uboot, but no in Linux.
let me know if anything is wrong with it!
here is is the current fw_print:
fw_printenv
bootcmd=run autoboot
baudrate=115200
ethaddr=00:00:23:34:45:66
preboot=
loadaddr=0x81000000
serialboot=echo Booting from y-modem...; run commonargs; loady && bootm
meminfo=mem=40m
console=ttyAMA0,115200
flashroot=/dev/mtdblock4
bootfile=hi3518/uImage
sensor_type=ar0130
init=/init
hieth=hieth.mdioifu=0 hieth.mdioifd=0 hieth.phyaddru=1 hieth.phyaddrd=2
flashoverlay=/dev/mtdblock5
flashoverlayfstype=jffs2
commonargs=setenv bootargs ${meminfo} console=${console} mtdparts=${mtdparts} ${hieth} init=${init}
addip=setenv bootargs ${bootargs} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off
nfsargs=run commonargs; setenv bootargs ${bootargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts}
nfsboot=echo Booting from NFS...; run nfsargs; run addip; tftp ${loadaddr} ${bootfile} && bootm ${loadaddr}
flashargs=run commonargs; setenv bootargs ${bootargs} root=${flashroot} overlay=${overlay} rootfstype=${flashrootfstype} overlay=${flashoverlay} overlayfstype=${flashoverlayfstype}
filesize=3B5000
fileaddr=81000000
netmask=255.255.255.0
ipaddr=192.168.1.10
serverip=192.168.1.107
mtdparts=hi_sfc:256k(uboot)ro,128k(uboot-env),128k(mfd),2m(kernel),5m(rootfs),-(user) ramdisk=4096
bootdelay=3
bootargs=mem=40m console=ttyAMA0,115200 mtdparts=hi_sfc:256k(uboot)ro,128k(uboot-env),128k(mfd),2m(kernel),5m(rootfs),-(user) ramdisk=4096 hieth.mdioifu=0 hieth.mdioifd=0 hieth.phyaddru=1 hieth.phyaddrd=2 init=/init root=/dev/mtdblock4 overlay= rootfstype=squashfs overlay=/dev/mtdblock5 overlayfstype=jffs2
autoboot=if run flashboot; then; else run nfsboot; fi
stdin=serial
stdout=serial
stderr=serial
verify=n
ver=U-Boot 2010.06 (Jul 02 2017 - 03:46:51)
flashboot=echo Booting from SPI Flash...; run flashargs; sf probe 0 && sf read ${loadaddr} 0x80000 0x200000 && bootm
phyaddru=1
phyaddrd=2
netdev=eth0
nfsopts=hard,tcp,vers=3
NID=0x0012
HWID=8043420004748432
mdio_intf=mii
flashrootfstype=squashfs,jffs2
rootpath=/srv/tftp/hi3518/
from hi35xx-buildroot.
looks like I have a problem loading some modules. Ill repair and report if it fixes problem. I can ping only the interface ip on eth0. nothing else works.
hi3518_base: module license 'Proprietary' taints kernel.
Disabling lock debugging due to kernel taint
Hisilicon UMAP device driver interface: v3.00
pa:82800000, va:c31c0000
load sys.ko ...OK!
load viu.ko ...OK!
ISP Mod init!
load vpss.ko ....OK!
load venc.ko ...OK!
load group.ko ...OK!
load chnl.ko ...OK!
load h264e.ko ...OK!
load jpege.ko ...OK!
load rc.ko ...OK!
load region.ko ....OK!
load vda.ko ....OK!
hi_i2c: version magic '3.0.8dsw.BR3 mod_unload ARMv5 ' should be '3.0.8 mod_unload ARMv5 '
insmod: can't insert 'extdrv/hi_i2c.ko': invalid module format
pwm: version magic '3.0.8dsw.BR3 mod_unload ARMv5 ' should be '3.0.8 mod_unload ARMv5 '
insmod: can't insert 'extdrv/pwm.ko': invalid module format
ssp_ad9020: version magic '3.0.8dsw.BR3 mod_unload ARMv5 ' should be '3.0.8 mod_unload ARMv5 '
insmod: can't insert 'extdrv/ssp_ad9020.ko': invalid module format
acodec inited!
insert audio
==== Your input Sensor type is ar0130 ====
OK
Starting system message bus: done
Starting network: ADDRCONF(NETDEV_UP): eth0: link is not ready
OK
Starting live-streamer: OK
Welcome to hi35xx-buildroot
hi3518e login: PHY: himii:01 - Link is Up - 100/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
from hi35xx-buildroot.
.config - Linux/arm 3.0.8 Kernel Configuration
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
┌─────────────────────────── hieth(switch fabric) family network device support ────────────────────────────┐
│ Arrow keys navigate the menu. selects submenus --->. Highlighted letters are hotkeys. │
│ Pressing includes, excludes, modularizes features. Press to exit, <?> for Help, │
│ </> for Search. Legend: [] built-in [ ] excluded module < > module capable │
│ │
│ ┌───────────────────────────────────────────────────────────────────────────────────────────────────────┐ │
│ │ --- hieth(switch fabric) family network device support │ │
│ │ (0x726d6d73) hieth tag │ │
│ │ (0x10090000) hieth IO address │ │
│ │ (0x00010000) hieth IO size │ │
│ │ (12) hieth irq number │ │
│ │ [ ] eee support │ │
│ │ (10) hieth monitor timer │ │
│ │ (12) hieth hardware queue send fifo depth │ │
│ │ (2) hieth mdio frequency factor │ │
│ │ (0) hieth mii/rmii mode for up port (mii:0/rmii:1) │ │
│ │ (0) hieth mii/rmii mode for down port (mii:0/rmii:1) │ │
│ │ (1) hieth phyid for up port │ │
│ │ (2) hieth phyid for down port │ │
│ │ [ ] enable hieth down port │ │
│ │ (1024) hieth max rx pool size │ │
│ │ (18) hieth trace(debug) level │ │
│ │ [] hieth reset helper │ │
│ │ (0x20140000) hieth reset helper on which gpio group │ │
│ │ (5) hieth reset helper on gpio bit │ │
│ │ (0) hieth reset helper on gpio value │ │
│ │ │ │
│ └───────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
├───────────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ < Exit > < Help > │
└───────────────────────────────────────────────────────────────────────────────────────────────────────────
from hi35xx-buildroot.
my board has microchip ethernet controller is ksz8081mnx. had it working after screwng around for 2 hours.i dont know what i did however !@.
from hi35xx-buildroot.
tested with mii-test in linux and all shows good.
here is u-boot mii dump, eth0 = no such device
ipcam # mii device eth0:1
No such device: eth0:1
ipcam # mii device eth1:2
ipcam # mii dump
0. (ffff) -- PHY control register --
(8000:8000) 0.15 = 1 reset
(4000:4000) 0.14 = 1 loopback
(2040:2040) 0. 6,13 = b11 speed selection = ??? Mbps
(1000:1000) 0.12 = 1 A/N enable
(0800:0800) 0.11 = 1 power-down
(0400:0400) 0.10 = 1 isolate
(0200:0200) 0. 9 = 1 restart A/N
(0100:0100) 0. 8 = 1 duplex = full
(0080:0080) 0. 7 = 1 collision test enable
(003f:003f) 0. 5- 0 = 63 (reserved)
from hi35xx-buildroot.
Hello,
I'm really sorry for the delay and I want to thanks you for your persistence and coming back once it's works ;)
I will test as soon as I got the camera back (but I will wait at least one month since the one who got it is on holliday).
I don't remember having done many test with static configuration, perhaps something play there ?
from hi35xx-buildroot.
ive had good luck booting from nor flash and sdcard, but unable to get parameters right for nfs root file system boot.
any ideas?
what is rtsp connection url for live-streamer???
from hi35xx-buildroot.
any ideas on setting ethernet connector to jtag. if i understand the mux usage it can be set for jtag usage, but dont understand source code well enough to figure out.
from hi35xx-buildroot.
@mark4h
Your branch correct my trouble , and now I've got the network. (I didn't found yet which rtsp url I could use with live-streamer, but that's another story).
Your blog post is very informative. I don't think I would've found theses register.
Thanks a lot for your investigation and correction.
Do you plan to do a push request ?
(ps , I didn't see any rss on your blog to see what you would do with your camera ;) )
from hi35xx-buildroot.
@49handyman
Hello,
Concerning the nfs : if you boot with an image "standalone" (flash, initrd, ...) , do you have access to the network in it ?
If yes, what is the kernel command line you want to use to boot on nfs ?
For the jtag, I'm not sure you can mux it directly other the ethernet phy. Nothing seems to indicate this on the datasheet of my ethernet phy or the hi3518.
For the live-streamer url , I'm searching the same information :).
from hi35xx-buildroot.
@mark4h thanks. i was getting hieth:hieth_net_timeout:461:
and tx timeout
on my hi3518ev100 board. i think the oem is siepem and the camera was sold as a "spigen e300w".
i just copy+pasted the devmem commands from the net_mii_mode()
function without rebooting and the network miraculously came to life :)
looking at the oem firmware, there is a file /komod/pinmux_hi3518.sh
which also has a function called net_mii_mode()
that basically does the same thing, but uses the himm
utility from the hisilicon sdk instead of devmem
.
i'll probably end up just converting those scripts to use devmem
instead of himm
(which kind of seems like you have done in your fork).
p.s. here are several hi3518 sdk .zip's including ones as recent as end of 2015: https://app.box.com/s/cibs7n1mgvhqaqjlidtveegu1uajt5yr/folder/18989615567
i used 7z to extract the multi-part zip files.
from hi35xx-buildroot.
Can I get RTSP destination URL from live-streamer started on HI3518EV1 cam with ov9712 sensor ?
AutoReply
You can get RTSP traffic from IPCam - rtsp://you_device_ip:554/0 or rtsp://you_device_ip:554/1
from hi35xx-buildroot.
Good afternoon !
I have a question about the use of an internal/external Ethernet PHY.
If I use an internal Hisilicon PHY then I must set it in the kernel settings:
CONFIG_HIETH_PHYID_U=0
CONFIG_HIETH_PHYID_D=1
If I use an external PHY RTL8201 or IP101 then I must set it in the kernel settings:
CONFIG_HIETH_PHYID_U=1
CONFIG_HIETH_PHYID_D=2
If I rebuild the kernel for each system, everything works fine.
I'm wondering, is there a way to switch PHY directly from the Linux console via devmem/himm ?
Thanks for any answers
from hi35xx-buildroot.
Look patch
https://github.com/OpenIPC/firmware/tree/master/br-ext-chip-hisilicon/board/hi3516cv100/kernel/patches
22_hieth_port.patch and hieth_autoprobe.patch
from hi35xx-buildroot.
Related Issues (14)
- hi3518ev200 and sensor ar0130; live-streamer HOT 7
- Wrong path while himpp-hi3518v100 1.0.A.0 Downloading
- uboot-tools 2018.07 Building conflicting types for ‘__packed’ HOT 1
- qt5base 编译出错 global.h:86:30: error: division by zero in HOT 1
- Building a bootloader for hi3520dv200 HOT 1
- hi3796 support
- Driver hieth sfv200/sfv300 doesn't work on hi3518ep board HOT 5
- Could you help me with phy lan8710a?
- make ERROR: recipe for target 's-attrtab' failed
- Can I get .JPG screenshot ? HOT 4
- Can I get RTSP destination URL ? HOT 1
- Any direct support for 3519?
- How upload image if network not work. HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hi35xx-buildroot.