Jump to content

GYU

Members
  • Posts

    21
  • Joined

  • Last visited

Everything posted by GYU

  1. Oh! I accidentally swapped SDA & SDL... Now it's ok! i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- --
  2. Hello guys, I'd like to use a MCP23017 IO Expander with a Banana PI, based on this tutorial. but I get stuck at the beginning My problem is that I can't see the device. Could you help me please how to go ahead? Thanks! root@bananapipro:~# ls /dev/i2c* /dev/i2c-0 /dev/i2c-1 root@bananapipro:~# i2cdetect -y 0 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- UU -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@bananapipro:~# i2cdetect -y 1 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@bananapipro:~# lsmod Module Size Used by sun4i_codec 10687 3 evdev 12164 1 snd_soc_core 129993 1 sun4i_codec snd_pcm_dmaengine 3391 1 snd_soc_core snd_pcm 77032 2 snd_soc_core,snd_pcm_dmaengine snd_timer 19508 1 snd_pcm snd 47137 3 snd_soc_core,snd_timer,snd_pcm soundcore 922 1 snd sun4i_ts 4054 0 nvmem_sunxi_sid 2551 0 nvmem_core 8592 1 nvmem_sunxi_sid sun4i_ss 16130 0 cpufreq_dt 4394 0 thermal_sys 56978 2 cpufreq_dt,sun4i_ts bonding 102666 0 brcmfmac 179038 0 brcmutil 5597 1 brcmfmac cfg80211 429254 1 brcmfmac rfkill 10736 1 cfg80211 fuse 83217 1 realtek 2775 0
  3. Dear Igor, Now I just writing to inform you about a wrong image on armbian.com. I noticed yesterday, that you uploaded Armbian_4.4_Bananapi_Debian_jessie_4.2.2 image for BPI, but it has got the same error. ("A start job is running for LSB: Raise network interfaces. (X min Ys / no limit)" running for forever.) Gy
  4. If I set up a fix ip in /etc/network/interfaces then it will be possible to log in. "First run" won't start, and the time will be 1970. Picture btw I tried usb plugged/unplugged, ethernet plugged/unplugged -> doesn't matter
  5. I made a 4.2 jessie image with the default settings, but it's not ok. It stops booting at: "A start job is running for LSB: Raise network interfaces. (X min Ys / no limit)" and it's running for forever. As I searched about this problem, it seems I should disable hotplug in /etc/network/interfaces But there is no line about hotplug in this file. If you have a little time, could you check it please? I uploaded it here. ps.: or where can I add a time limit?
  6. A few small notes to this project: If disconnect-reconnect won't helps, then disconnect modprobe -r r820t rtl2832 dvb_usb_rtl28xxu rtl2832_sdr mn88472 then reconnect. If someone knows how to remove these modules automatically on disconnect, please share with me. It's very good that I can find channels with SCAN, but tvheadend and mumudvb still thinks that both frontends are DVB-T. If I do a SCAN, and after that I start Tvheadend or Mumudvb, then they know that frontend #1 is dvb-c, but could't find services. But as I read about this "stick with multi frontend" vs tvheadend problem, it's caused by the lower version of dvbapi 5.5. But I have no clue how to update dvbapi... And one more note: I can't run scan twice, without disconnect-reconnect between the scans. For the 2nd time without disconnecting the stick, it won't find anything. Probably that's why tvheadend & mumu won't find services after running scan too... So there will be a lot to do.... or wait a lot
  7. Finally I am able to use the DVB-C part of the Astrometa DVB stick (MN88472) with Banana Pi. I made a kernel 4.2.0 wheezy image with Igor's script. In the kernel config I enabled almost everything in - Device Drivers -> I2C - Device Drivers -> Multimedia support - Device Drivers -> Staging drivers -> Multimedia Here you can find the .config file and my image for download. After you started the banana: # If you use the image linked above then # (dvb-apps libdigest-sha-perl make gcc git patch patchutils libproc-processtable-perl) are already installed. # apt-get install dvb-apps libdigest-sha-perl make gcc git patch patchutils libproc-processtable-perl apt-get install w-scan cd /lib/firmware wget http://palosaari.fi/linux/v4l-dvb/firmware/MN88472/02/3fbb92e59bd20acedcaa82cfb37b0be3/dvb-demod-mn88472-02.fw reboot # Connect astrometa device AFTER(!!!) boot is complete, system ready # Use scan with the "initial-tuning-data-file" of your TV provider # Mine is the hungarian Digikabel. Check yours in /usr/share/dvb/dvb-c/ or make one for yourself scan -A2 -f1 /usr/share/dvb/dvb-c/hu-Digikabel # or you can use w-scan to find DVB-C transponders for you with this command: w_scan -f c # if you can't find any transponder, try disconnect and reconnect the stick, and run scan or w_scan again Cheers Thanks again for you Igor!
  8. I tried 3.19.4 and got the same error. I tried 3.18.x and 3.16.x.: In this case I didn't get kernel, because the compilation of some modules (?) interrupted the process. I tried disabling them, in the kernel configuration, but -I don't no why- it still tried to compile them. BUT! I made a new, 4.2 kernel and it solved my problem, so now I don't want to go for 3.19 anymore. I will update my other post (No firmeware download (MN88472)) later, to help others who tries to make work an Astrometa DVB stick with BananaPi. I am very-very thankful for you Igor! Without your script and help, it is sure, that I couldn't get this thing work! So thank you very much! I'll must use this site too
  9. Nooooo! It's not booting. Freeze after "vcc3v0:disabling" picture here If you would like to check it, image here (242 MB) Tomorrow I'll try different kernel version.
  10. - Finally I changed SDSIZE to 6000, and started everything from the beginning. - The line 278 in common.sh (BLOCKSIZE=-----) was already the same, what you suggested. The error what I get now is: [ o.k. ] Shrink partition and image to real size [ 15 % free space ] losetup: /dev/loop0: device is busy tune2fs: Bad magic number in super-block while trying to open /dev/loop0 Couldn't find valid filesystem superblock. tune2fs: Bad magic number in super-block while trying to open /dev/loop0 Couldn't find valid filesystem superblock. tune2fs: Bad magic number in super-block while trying to open /dev/loop0 Couldn't find valid filesystem superblock. /root/lib/common.sh: line 273: (-)*/1024/1024: syntax error: operand expected (error token is ")*/1024/1024") [ ok ] Runtime 114 min Maybe line 275 has a syntax error? I'am not sure, but if i compare NEWSIZE=${NEWSIZE%.*} to line 268 UNITSIZE="${UNITSIZE//k/}" then I think maybe the quotation marks are missing. I don't know the syntax, that's why I can't decide is it right or not. I know, I know that line 275 is after 273, but I thought I mention to you. I was logged in into LXDE desktop, and used LXterminal to run compile.sh. Now I tried to run it in text mode, and now it works! Just for sure I tested two times!!! If I run compile.sh in text mode, then it is fine! If LXDE loaded then i get the error above... So finally, I can test the final, error free image tonight! I'll send feedback asap! Thanks for your help again Igor!
  11. Getting closer Now there was some problem with sun7i-a20-orangepi-mini, so I commented out all "add new devices". After that I get the kernel. So I run again compile.sh with SOURCE_COMPILE="no". It took 387 minute for the virtual machine to do the job, but at the end I get resize2fs 1.42.9 (4-Feb-2014) resize2fs: On-line shrinking not supported /root/lib/common.sh: line 279: *4096/1024: syntax error: operand expected (error token is "*4096/1024") [ ok ] Runtime 387 min So I copied "/root/output/cache/Armbian_4.3_Bananapi_Debian_jessie_3.19.4.raw" (3.91 GB) file to the SD card. Now the bpi starts, it says: "starting kernel" or something similar, and then I get a blank screen. I waited enough time, tried rebooting, but no change. Now I increase SDSIZE to 8000 and trying to build wheezy. I'll inform you if it's ready.
  12. Now I tried to build kernel only (for Banana pi), and it seems there is a syntax error: Error: arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts:146.22-23 syntax error FATAL ERROR: Unable to parse input tree Here is the end of the process: (complete output here) CC lib/int_sqrt.o CC lib/ioremap.o CC lib/irq_regs.o CC lib/is_single_threaded.o CC lib/klist.o CC lib/kobject.o CC lib/kobject_uevent.o CC lib/md5.o CC lib/plist.o CC lib/proportions.o CC lib/radix-tree.o CC lib/ratelimit.o CC lib/rbtree.o CC lib/seq_buf.o CC lib/sha1.o CC lib/show_mem.o CC lib/string.o CC lib/timerqueue.o CC lib/vsprintf.o AR lib/lib.a CC [M] lib/ts_kmp.o CC [M] lib/ts_bm.o CC [M] lib/ts_fsm.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux SORTEX vmlinux SYSMAP System.map OBJCOPY arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready LDS arch/arm/boot/compressed/vmlinux.lds AS arch/arm/boot/compressed/head.o GZIP arch/arm/boot/compressed/piggy.gzip AS arch/arm/boot/compressed/piggy.gzip.o CC arch/arm/boot/compressed/misc.o CC arch/arm/boot/compressed/decompress.o AS arch/arm/boot/compressed/debug.o CC arch/arm/boot/compressed/string.o SHIPPED arch/arm/boot/compressed/hyp-stub.S AS arch/arm/boot/compressed/hyp-stub.o SHIPPED arch/arm/boot/compressed/fdt_rw.c SHIPPED arch/arm/boot/compressed/fdt.h SHIPPED arch/arm/boot/compressed/libfdt.h SHIPPED arch/arm/boot/compressed/libfdt_internal.h CC arch/arm/boot/compressed/fdt_rw.o SHIPPED arch/arm/boot/compressed/fdt_ro.c CC arch/arm/boot/compressed/fdt_ro.o SHIPPED arch/arm/boot/compressed/fdt_wip.c CC arch/arm/boot/compressed/fdt_wip.o SHIPPED arch/arm/boot/compressed/fdt.c CC arch/arm/boot/compressed/fdt.o CC arch/arm/boot/compressed/atags_to_fdt.o SHIPPED arch/arm/boot/compressed/lib1funcs.S AS arch/arm/boot/compressed/lib1funcs.o SHIPPED arch/arm/boot/compressed/ashldi3.S AS arch/arm/boot/compressed/ashldi3.o SHIPPED arch/arm/boot/compressed/bswapsdi2.S AS arch/arm/boot/compressed/bswapsdi2.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready DTC arch/arm/boot/dts/sun4i-a10-a1000.dtb DTC arch/arm/boot/dts/sun4i-a10-ba10-tvbox.dtb DTC arch/arm/boot/dts/sun4i-a10-cubieboard.dtb DTC arch/arm/boot/dts/sun4i-a10-mini-xplus.dtb DTC arch/arm/boot/dts/sun4i-a10-hackberry.dtb DTC arch/arm/boot/dts/sun4i-a10-inet97fv2.dtb DTC arch/arm/boot/dts/sun4i-a10-olinuxino-lime.dtb DTC arch/arm/boot/dts/sun4i-a10-pcduino.dtb DTC arch/arm/boot/dts/sun5i-a10s-olinuxino-micro.dtb DTC arch/arm/boot/dts/sun5i-a10s-r7-tv-dongle.dtb DTC arch/arm/boot/dts/sun5i-a13-hsg-h702.dtb DTC arch/arm/boot/dts/sun5i-a13-olinuxino.dtb DTC arch/arm/boot/dts/sun5i-a13-olinuxino-micro.dtb DTC arch/arm/boot/dts/sun6i-a31-app4-evb1.dtb DTC arch/arm/boot/dts/sun6i-a31-colombus.dtb DTC arch/arm/boot/dts/sun6i-a31-hummingbird.dtb DTC arch/arm/boot/dts/sun6i-a31-m9.dtb DTC arch/arm/boot/dts/sun7i-a20-bananapi.dtb DTC arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dtb Error: arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts:146.22-23 syntax error FATAL ERROR: Unable to parse input tree make[1]: *** [arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dtb] Error 1 make: *** [dtbs] Error 2 CHK include/config/kernel.release UPD include/config/kernel.release make KBUILD_SRC= CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h UPD include/generated/utsrelease.h make[3]: `include/generated/mach-types.h` is up to date. CALL scripts/checksyscalls.sh CHK include/generated/compile.h CC init/version.o LD init/built-in.o CC kernel/sys.o CC kernel/module.o CHK kernel/config_data.h LD kernel/built-in.o CC drivers/base/firmware_class.o LD drivers/base/built-in.o LD drivers/built-in.o LINK vmlinux LD vmlinux.o MODPOST vmlinux.o GEN .version CHK include/generated/compile.h UPD include/generated/compile.h CC init/version.o LD init/built-in.o KSYM .tmp_kallsyms1.o KSYM .tmp_kallsyms2.o LD vmlinux SORTEX vmlinux SYSMAP System.map OBJCOPY arch/arm/boot/Image Kernel: arch/arm/boot/Image is ready GZIP arch/arm/boot/compressed/piggy.gzip AS arch/arm/boot/compressed/piggy.gzip.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready DTC arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dtb Error: arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dts:146.22-23 syntax error FATAL ERROR: Unable to parse input tree make[3]: *** [arch/arm/boot/dts/sun7i-a20-pcduino3-nano.dtb] Error 1 make[2]: *** [dtbs] Error 2 make[1]: *** [deb-pkg] Error 2 make: *** [deb-pkg] Error 2 mv: cannot stat ‘*.deb’: No such file or directory [ o.k. ] Kernel building done [ @host ] [ o.k. ] Target directory [ /root/output/debs/ ] [ o.k. ] File name: linux-image-next-sunxi_4.3_armhf.deb [ 3.19.4 ] [ ok ] Runtime 54 min root@ubuntu:~#
  13. I try to make it for Banana pi. Now I saw the error before the "permission denied thing". Picture from it here Later, if you have a little sparse time, please take a look to my output folder, what I get yesterday. Maybe you can find the problem in it.
  14. Yes, I used Ubuntu Trusty x86 desktop version on a "real" pc. Now I installed the server version of it (what you suggested in the manual) to a virtual pc, and tried with it. Now the compilation froze near to the end of the process with a lot of "cp: cannot open XXX./sdcard/filenameXXX for reading: Permission denied" message where XXX are some strange unicode characters. I'am started the script as root user, so I have no idea why the permission has been denied. The sdcard folder exists inside ./output/cache/ and it's not empty. Maybe the script looking for it on a wrong path? But then it should say not exists... I don't get it I'll try it again, but I change the privileges of the output folder in advance. Thank you for taking the time to help me!
  15. Dear Igor, I'am trying to make an image with 3.19 kernel now for a while, but I couldn't make it work. It won't boot. A few weeks ago there was some problems with the patchings, so I tried to do it manually. But it lead me to the same result. Now I deleted everything, related to the image building, and started everything over again. I noticed that your building script has been updated. Now the patching errors disappeared, but I still get the same result, a non booting image. The error says, that "File not found /boot/.next" then "File not found /boot/zImage", "Unrecognized filesystem type", "Bad Linux ARM zImage magic!", ..... Picture from it here. I tried wheezy and jessie but the result is the same. I tried different versions of 3.19.X and 3.18.X. Could you give me any advice please? Or... I am a bit affraid to ask something like this ... could you take a look to my output folder?
  16. Sorry Igor, but I get almost the same error if I try v3.19.8 as if I try v3.19 (without the trailing zero) I tried to delete the lib folder as well, but it not helps. root@avlaptop:~# ./compile.sh Already up-to-date. [ ok ] Building Bananapi Ubuntu 3.2 trusty next [ ok ] Syncing clock [ ok ] Downloading u-boot Already up-to-date. [ ok ] Downloading linux-mainline Already up-to-date. [ ok ] Downloading sunxi-tools Already up-to-date. [ ok ] Downloading rt8192cu Already up-to-date. [ ok ] Downloading sunxi-display-changer Already up-to-date. [ ok ] Compiling sunxi tools [ ok ] Patching kernel v3.19.8 patching file arch/arm/boot/dts/sun7i-a20-cubietruck.dts Hunk #1 FAILED at 71. 1 out of 1 hunk FAILED -- saving rejects to file arch/arm/boot/dts/sun7i-a20-cubietruck.dts.rej can't find file to patch at input line 31 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |--- a/arch/arm/boot/dts/sun7i-a20-bananapro.dts |+++ b/arch/arm/boot/dts/sun7i-a20-bananapro.dts -------------------------- File to patch: If you have a little time for this, could you check it please? Here is the used compile.sh. I'd like to say thank you again, for taking the time to make these images, and helping for beginners like me. #!/bin/bash # # Edit and execute this script - Ubuntu 14.04 x86/64 recommended # # Check https://github.com/igorpecovnik/lib for possible updates # # method KERNEL_ONLY="no" # build kernel only SOURCE_COMPILE="yes" # force source compilation KERNEL_CONFIGURE="yes" # change default configuration KERNEL_CLEAN="yes" # MAKE clean before compilation USEALLCORES="yes" # Use all CPU cores BUILD_DESKTOP="no" # desktop with hw acceleration for some boards # user DEST_LANG="en_US.UTF-8" # sl_SI.UTF-8, en_US.UTF-8 CONSOLE_CHAR="UTF-8" # console charset TZDATA="Europe/Budapest" # time zone ROOTPWD="1234" # forced to change @first login SDSIZE="3000" # SD image size in MB AFTERINSTALL="" # command before closing image MAINTAINER="Igor Pecovnik" # deb signature MAINTAINERMAIL="igor.pecovnik@****l.com" # deb signature GPG_PASS="" # set GPG password for non-interactive packing # advanced KERNELTAG="v3.19.8" # kernel TAG - valid only for mainline UBOOTTAG="v2015.07" # kernel TAG - valid for all sunxi FBTFT="yes" # https://github.com/notro/fbtft EXTERNAL="yes" # compile extra drivers FORCE="yes" # ignore manual changes to source # source is where we start the script SRC=$(pwd) # destination DEST=$(pwd)/output # get updates of the main build libraries if [ -d "$SRC/lib" ]; then cd $SRC/lib git pull else # download SDK apt-get -y -qq install git git clone https://github.com/igorpecovnik/lib fi source $SRC/lib/main.sh
  17. Sorry for the offtopic post, but if I set KERNELTAG="v3.19.0" in compile.sh and select "Bananapi"->"trusty"->"next mainline" I get this error: [ ok ] Patching kernel v3.19.0 error: pathspec 'v3.19.0' did not match any file(s) known to git. Or without the trailing zero: [ ok ] Patching kernel v3.19 patching file arch/arm/boot/dts/sun7i-a20-cubietruck.dts Hunk #1 FAILED at 71. 1 out of 1 hunk FAILED -- saving rejects to file arch/arm/boot/dts/sun7i-a20-cubietruck.dts.rej can't find file to patch at input line 31 Perhaps you used the wrong -p or --strip option?
  18. I would go for it because on PC it's good for my dvb stick, with the linuxtv.org v4l drivers. So I set KERNELTAG="v3.16.0", KERNEL_CONFIGURE="yes", and selected trusty mainline, but when menuconfig appeared on the screen, on the top left it was 4.2. The image is starts to boot, and fails. I'll give it a try again later.
  19. If I using 4.1 ubuntu trusty in text mode, then fw download fine, but i2c errors there. If lxde loaded and I use lxterminal, no firmware related messages. So I take your advice, and made a Debian wheezy with 4.0.8 kernel, by changing this line in compile.sh: KERNELTAG="v4.0.8" But these i2c errors still there, as wscan goes through the frequencies: rtl2832 2-0010: i2c reg read failed -32 r820t 3-003a: r820t_write: i2c wr failed=-32 reg=05 len=1: f3 Tonight I will try to make a 4.0.8 ubuntu trusty. I've got two questions: - Is it enough to change only KERNELTAG variable in the compile.sh to get a 4.0.8 kernel, or should I do something else too? - Is it possible to make an ubuntu image with 3.16 kernel? (on PC I use this one, and it's good for this dvb stick) Thanks, Gyuri
  20. Dear Igor, I made a custom 4.1 kernel with your script, where a staging driver (mn88472) is included. I'am trying to use an Astrometa DVB stick with mn88472 demodulator, but it's not working. Everything seems fine, no errors, every module loaded, firmware is in it's place. If I run wscan, it goes through every frequency, but it doesn't find any channel. The most weird thing is that two or three times it worked, but I don't know why, and I am not able to reproduce it. (I am using DVB-C so it's sure that the signal is fine) I investigated the source code of the mn88472 module, and as I see, I should get a notice about the firmware load status. An error message or something about the successfully loading, and this message is completely missing. So I followed the steps about debugging firmware related things described here, but after applying "udevadm monitor --property", I don't get any udev event which contains "ACTION=add" and "SUBSYSTEM=firmware". Is there any way to force loading firmware onto an usb device? If yes, how can I do that? Thank you for your help, and your cool kernels! Gyuri ps: I already tried changing rc poll time as described here, but it not helps. I've got similar i2c reg read/write failures, but compering to ubuntu PC configuration, it's almost the same. The only difference between the PC or Banana system is the lack of the firmware message on the banana. I tried feeding the device from external power too -just for sure- but I got the same i2c errors, and no firmware downloading.
  21. Dear Igor, I compiled a kernel (Wheezy mainline) with your script, everything is perfect! There is only one thing, what I don't know how to do: I need to patch rtl28xxu.c before compiling or /even better/ if it possible to compile this module only and overwrite the .ko file at "/lib/modules/4.0.4-bananapi/kernel/.....folder". Could you help me please how can I do that? At line 1612 I need to change: - rc->interval = 400; to this: + rc->interval = 200; Thank you very much! Gyuri
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines