Access GPIO from Linux user space

GPIO mean "General Purpose Input/Output" and is a special pin present in some chip that can be set as input or output and used to move a signal high or low (in output mode) or to get the signal current status (in input mode). Usually these pin are directly managed by kernel modules but there are an easy way to manage these pins also from user space.

Standard Linux kernel have inside a special interface allow to access to GPIO pins. Once executed kernel menuconfig you can easily verify is this interface is active in your kernel and, in case, enable them. The kernel tree path is the following:

Device Drivers  ---> GPIO Support  ---> /sys/class/gpio/... (sysfs interface)

If not, enable this feature and recompile the kernel before continue to read. The interface to allow working with GPIO is at the following filesystem path:

/sys/class/gpio/

Basically if you want to work with a particular GPIO you must first to reserve it, set the input/output direction and start managing it. Once you reserved the GPIO and finished to use you need to free it for allow other modules or process to use them. This rule is valid in both cases you want to use GPIO from kernel level or user level.

Manage GPIO from command line or script

From the user level side this "operation" for reserve the GPIO is called "export" the GPIO. For make this export operation you simply need to echo the GPIO number you are interested to a special path as follow (change XX with the GPIO number you need):

echo XX > /sys/class/gpio/export

If operation successful (the possible case of operation failed is explained below) a new "folder" will show up in the GPIO interface path as example below:

/sys/class/gpio/gpioXX/

This new "folder" will allow you to work with the GPIO you just reserved. In particular if you want to set the in/out direction you simply need to execute the following echo commands:

echo "out" > /sys/class/gpio/gpioXX/direction

or

echo "in" > /sys/class/gpio/gpioXX/direction

In case you set out direction you can directly manage the value of GPIO. You can make this operation by executing additional echo commands like:

echo 1 > /sys/class/gpio/gpioXX/value

or

echo 0 > /sys/class/gpio/gpioXX/value

Since GPIO is a single pin the possible states allowed are high (1) and low (0). In case you set in direction you can read the current pin value by using the following command:

cat /sys/class/gpio/gpioXX/value

Once finished to use your GPIO you can free it by make the same echo command but to different path:

echo XX > /sys/class/gpio/unexport

In case of GPIO folder not showed after export operation is very likely that the GPIO is already reserved by some module. For verify the current reserved GPIO map you must first verify if in your kernel is enabled the following feature:

Kernel configuration ---> Kernel hacking ---> Debug FS

As usual, if not enabled, enable it and recompile the kernel. The next step is to launch the following command line for mount debugfs:

mount -t debugfs none /sys/kernel/debug

and dump the current GPIO configuration by using:

cat /sys/kernel/debug/gpio

The output will show you the current list og reserved GPIO.

Manage GPIO from application

All these same operations can be made using a software application. Follow short lines of C code showing how the reproduce the same steps as above (remember to change XX with the GPIO number you want to use).

Reserve (export) the GPIO:

int fd;
char buf[MAX_BUF]; 
int gpio = XX;

fd = open("/sys/class/gpio/export", O_WRONLY);

sprintf(buf, "%d", gpio); 

write(fd, buf, strlen(buf));

close(fd);

Set the direction in the GPIO folder just created:

sprintf(buf, "/sys/class/gpio/gpio%d/direction", gpio);

fd = open(buf, O_WRONLY);

// Set out direction
write(fd, "out", 3); 
// Set in direction
write(fd, "in", 2); 

close(fd);

In case of out direction set the value of GPIO:

sprintf(buf, "/sys/class/gpio/gpio%d/value", gpio);

fd = open(buf, O_WRONLY);

// Set GPIO high status
write(fd, "1", 1); 
// Set GPIO low status 
write(fd, "0", 1); 

close(fd);

In case of in direction get the current value of GPIO:

char value;

sprintf(buf, "/sys/class/gpio/gpio%d/value", gpio);

fd = open(buf, O_RDONLY);

read(fd, &value, 1);

if(value == '0')
{ 
     // Current GPIO status low
}
else
{
     // Current GPIO status high
}

close(fd);

Once finished free (unexport) the GPIO:

fd = open("/sys/class/gpio/unexport", O_WRONLY);

sprintf(buf, "%d", gpio);

write(fd, buf, strlen(buf));

close(fd);

An important note you have to keep in mind if you plan to set or, more important, get the value of a GPIO through this way in continous mode. If you open the "value" file for get the current GPIO status (1 or 0) remember that, after the fist read operation, the file pointer will move to the next position in the file. Since this interface was made to be read from cat command the returned string will be terminated by the new line character (\n). This mean after the first "valid" read all the next read operation will return always the last character in the file, in this case only the new line '\n'. For obtain a correct status value for each read operation you simply have to set the file pointer at the beginning of the file before read by using the command below:

lseek(fp, 0, SEEK_SET);

You will not have this problem if you open and close GPIO value file every time you need to read but, as you can know, for continuous read introduce a short delay. Since these short lines of codes are only an example if you want to use them in your code remember add the control for error in open GPIO file.

Comments

  1. really good article........thanks

    ReplyDelete
  2. really good .. thanks

    ReplyDelete
  3. Okay. I dont see no userland. All operations need root.

    ReplyDelete
    Replies
    1. Of course it is in user space. It is not running in the kernel. You just need to have access privileges.
      You should recheck your terminology.

      Delete
  4. Cat /sys/class/gpio/gpioXX/value always prints 0 on my board. But when I use a voltage meter it shows the correct voltage.

    ReplyDelete
  5. These gpio devices are not always automatic generated. You need to configure or "patch" the kernel for allow them to work as expected.

    ReplyDelete
  6. Is there a good way to produce interrupts / or use blocking reads?(fread for example). Cause polling will kill the performance from my application

    ReplyDelete
  7. Surely not at user level. You need to develop your own module running at kernel level for manage interrupt. Regarding the possibilty to have interrupt connected to gpio it depends from your hardware. If the cpu will allow it you'll have to configure it as indicated by datasheet.

    ReplyDelete
  8. If a GPIO is already reserved, how can I control it from userspace?

    ReplyDelete
  9. Sorry, if the GPIO is reserved by someone else you can not use it...

    ReplyDelete
  10. Super-helpful article--thanks!

    ReplyDelete
  11. Greattt!!!!!!!!! THNKS!!

    ReplyDelete
  12. useful information. Thanks

    ReplyDelete
  13. thanks. very helpful to all.:)

    ReplyDelete
  14. Really useful information, Thanks.
    But can you please tell me, How to access GPIO from kernel space?

    ReplyDelete
  15. Hi
    Kernel space have a different set of functions available for manage GPIO. Some of them are:

    int gpio_request(unsigned int gpio, const char *label);
    void gpio_free(unsigned int gpio);
    int gpio_direction_input(unsigned int gpio);
    int gpio_direction_output(unsigned int gpio, int value);
    int gpio_get_value(unsigned int gpio);
    void gpio_set_value(unsigned int gpio, int value);

    You can find more details googling around...

    ReplyDelete
  16. i have a problem: i can correctly use the GPIO using shell scripts, but i can't do it using a software application in C. The problem it that i can't open the */value and */direction files.

    ReplyDelete
  17. Sorry but you need to check the error code generated by the open fail operation.

    ReplyDelete
  18. can you help me?
    i have a raspberry pi b + as a webserver, i can remotely get to it, push the button and i get 2 errors in the apache log files, permissions denied and premature end of script. i dont know if i have a httpd.conf file and i dont know if i need to change something in .htaccess but also please tell me real fast, if this set01.cgi script looks ok

    #!/bin/bash
    echo "1" > /sys/class/gpio/gpio4/value

    ReplyDelete
  19. httpd.conf and .htaccess doesn't seem to be connected to the gpio access. The error "permission denied" mean your script is executed under some user that doesn't have enough privileges to access gpio fields. The easiest solution in this case is to "extened" permission of "/sys/class/gpio/gpio4/value" to the user or the group you currently run your script (using chmod command in server side).

    ReplyDelete
  20. Great job! Thanks for article!

    ReplyDelete
  21. Really useful informations, thank you !

    ReplyDelete
  22. How do I set GPIO66 and GPIO68 for PWM use?

    ReplyDelete
  23. Hi all,

    In my kernel it shows like that :

    root@ls2085aqds:/sys/class/gpio# ls
    export gpiochip384 gpiochip416 gpiochip448 gpiochip480 unexport
    root@ls2085aqds:/sys/class/gpio# echo 224 > export
    export_store: invalid GPIO 224
    -sh: echo: write error: Invalid argument

    Actually i need to toggle the GPIO2_24 th pin. I don't know how to access that pin and how to toggle that pin. can you help me please..?

    Thanks,
    Naveen.

    ReplyDelete
  24. Label GPIO2_24 doesn't not automatically mean the GPIO number is 224. You have to check your hardware datasheet or how your kernel internally manage to number the GPIO you need...

    ReplyDelete
  25. @Russ M: this post explain the standard direct interface for access GPIO from user space. PWM, for what I know, is another type of interface so I guess you need to manage the GPIO internally to kernel if you want to use PWM interface (but I'm not expert in using it than I'm not sure about that).

    ReplyDelete
  26. how to continuously call the show function in sysfs by using c user program

    ReplyDelete
  27. Hi,
    Excellent article. How can I find out which module has reserved a reserved gpio.
    I executed "cat /sys/kernel/debug/gpio". I have posted a portion of the output below.
    GPIOs 148-178, GPH:
    gpio-162 (? ) in lo
    gpio-163 (? ) in lo
    gpio-164 (? ) in lo
    gpio-165 (? ) in lo

    Please help.

    ReplyDelete
  28. Sorry but I don't know if there is a way to know which module reserved GPIO, neved had this problem and currently I don't know how to help you...

    ReplyDelete
  29. Hi all,

    In my kernel gpio directory it shows like that

    sys/class/gpio# ls
    export gpiochip384 gpiochip416 gpiochip448 gpiochip480 unexport

    here wt is the gpiochip384, 416, 448, 480 and how they are enabled here?

    ReplyDelete
  30. Sorry, don't understand the question, what does it mean "how they are enabled here"? Remeber GPIO export operation can be "requested" not only by user space as described in this post but also internally by some kernel module itself...

    ReplyDelete
  31. Hi
    In my kernel gpio directory shows gpiochip384, gpiochip416, gpiochip448, gpiochip480.


    I think
    gpiochip384 - GPIO1
    gpiochip416 - GPIO2
    gpiochip448 - GPIO3
    gpiochip480 - GPIO4

    I need to toggle one gpio pin ex.gpio4_24 (480+24=504)

    for that i need to echo 504 > export right..?

    i dont kw if its correct or wrong.. can u correct me pls..?

    ReplyDelete
  32. Hi

    The problem here is only to know how to "calculate" the correct GPIO number based to your hardware. I don't know if your calculation is correct since it depends by the chipset you are working on. You have to check the datasheet of the chipset for know if the GPIO number is correct. Once got the correct number the export procedure is the same.

    ReplyDelete
  33. For iMX6 to calculate which GPIO you need to export you can refer to : http://www.kosagi.com/w/index.php?title=Definitive_GPIO_guide

    ReplyDelete
  34. When i enter the command:
    sudo echo "17" > /sys/class/gpio/export
    i get the message:
    -bash: /sys/class/gpio/export: Permission denied
    Why is that?

    ReplyDelete
  35. You need to have root privileges for make this operation. From the error message it seem you don't have...

    ReplyDelete
    Replies
    1. I also have the same issue, I want to know the status of the pin which is being used by the SDIO interface, is there any way that i can know the status of those pins.

      Delete
    2. Only way is that some admin of the system you are working on will set permission to access gpio device also for your user level or group...

      Delete
  36. hi very useful article.
    i have a question
    in my kernel i have :GPIO 18 --> SDA and GPIO 19--> SCL
    how can i change the GPIOS to be :GPIO 19 --> SDA and GPIO 18--> SCL

    tks

    ReplyDelete
  37. Teorically you can't since usually GPIO are physically harware mapped and the kernel report this mapping status. The only way I can see is to patch the kernel GPIO driver to make an "software inversion" but it would not be a good idea in any case. Please note if you want to manage an I2C bus communication from user space using kernel GPIO interface the communication will be really slow...

    ReplyDelete
  38. thanks for your apply.
    how can i make that ?
    have you any information or tutorials ??

    ReplyDelete
  39. The kernel is "customized" to work on your hardware. Maybe it will be possible to find some general tutorial (however I don't know) but the only way you have is to look into your kernel sources for find the module involved in GPIO communication with your hardware. Once found work on it.

    ReplyDelete
  40. thanks for this valuable article
    i used the following commands to access the gpio on SAM9G25 microcontroller:
    #echo 66 > /sys/class/gpio/export
    #echo in > /sys/class/gpio/gpio66/direction
    #cat /sys/class/gpio/gpio66/value
    ----------------
    these commands run successfully on a linux with kernel version 3.6.9
    BUT
    it doesn't work on the same development kit when I run emdebian with kernel version 3.11.6
    I got
    #echo in > /sys/class/gpio/gpio66/direction
    -bash: /sys/class/gpio/gpio66/direction: No such file or directory

    ReplyDelete
  41. Kernel need to be "configured" to manage correctly specific board GPIO and expose them through gpio module interface. Required configuration can come from kernel board pinmuxing map, gpio module configuration and so on, I can not know the reasons, you have to check and configure correctly the kernel you plan to use for your project based to your hardware...

    ReplyDelete
  42. I hv this GPIO debugging too:
    root@core9g25:~# cat /sys/kernel/debug/gpio
    GPIOs 0-31, platform/fffff400.gpio, fffff400.gpio:
    [w1] GPIOfffff400.gpio21: [gpio] set
    GPIOs 32-50, platform/fffff600.gpio, fffff600.gpio:
    [aria_led] GPIOfffff600.gpio8: [periph A]
    GPIOs 64-95, platform/fffff800.gpio, fffff800.gpio:
    GPIOs 96-117, platform/fffffa00.gpio, fffffa00.gpio:

    ReplyDelete
  43. Great article!!! it helped me a lot!!

    Hey do you have something similar but for i2c?

    ReplyDelete
  44. Thank you for the comment. About i2c didn't write anything because is already possible to found some good aricle around than I thought there was no need. Maybe I'll write something in the future... ^_^

    ReplyDelete
  45. hi

    Great article.... helped me a lot for lemaker board. Recently only i started working on linux on lemaker board. now i am trying for interrupts, but i am not getting ..please guide me for complete interrupt part. led blinking need to do with switch in interrupt method.

    Thank you.

    ReplyDelete
  46. This article explain how to manage with GPIO from user space but infortunately is not possible manage interrupts from user space. The only way is to develop a kernel driver. There is a free book titled "Linux device drivers" that you can read about develop your driver.

    ReplyDelete
  47. Hi

    i found your article very helpful thanks for writing it. I want to blink the leds on the zed board, so when i tried the method the gpioxx folder is not created for me so i tried mount -t debugfs none /sys/kernel/debug but found that there is no debud folder in the kernel....
    any help will be appreciated.

    ReplyDelete
  48. As written in the post have you verified the following feature is enabled on the kernel config?

    Kernel configuration ---> Kernel hacking ---> Debug FS

    Remember if you enable it you have to recompile the entire kernel for get it working.

    ReplyDelete
    Replies
    1. There is no debug fs in kernel hacking but instead
      Device drivers--> gpio support --> sys/class/gpio... (sys interface)
      Which is selected

      Delete
  49. so in the kernel hacking there was no Debug FS in the list...

    ReplyDelete
  50. Unfortunately linux kernel continuously change in structure based on distribution and so on. If you don't get your GPIO probably mean some driver reserved it or the use of that GPIO is not configured in your kernel. Kernel for ARM have to be configured through specific configuration files instructing the kernel itself about available devices in specific hardware. I can not help you in this case since variants can be infinite, you have to look into your kernel sources for try to understand why this specific GPIO is not allowed to be exported...

    ReplyDelete
  51. yeah so i found out the debus fs it was in

    kernel configuration-->kernel hacking -->compile time checks and compile options-->debug fs

    but now it seems like the gpio is reserved and i cannot use it.
    i tried to mount it as
    mount -t sysfs sysfs /sys
    but it doesnt let me.

    ReplyDelete
  52. Why "mount -t sysfs sysfs /sys"? The correct path for mount is "mount -t debugfs none /sys/kernel/debug". However keep in mind that you'll probably have to change something in the kernel code to have your GPIO available from user space...

    ReplyDelete
  53. thanks it help me to understand how to switch on of my relay on rt5350f by olimex

    ReplyDelete
  54. After export, whenever I use the 'cat /sys/class/gpio/gpioxx/value' it always reads 0, even after I echo 1 to it. Do you know of a way to read the value?

    ReplyDelete
  55. Tried the same code. But export is not working out. Should we access the GPIO through Kernel using GPIO_request calls

    ReplyDelete
  56. This comment has been removed by the author.

    ReplyDelete
  57. Приумножайте высококачественные обратные ссылки на ваш интернет сайт и увеличьте трафик, Индекс качества сайта. Разбавьте текущую ссылочную массу, усиливайте беклинки с бирж, игра ссылок, tier 1, tier 2, tier 3. Обязательные ссылки с мега трастовых сайтов на ваш интернет ресурс, экономичнее чем на биржах и аналогов на интернет рынке беклинков. Официальный сайт - https://seobomba.ru/

    ReplyDelete
  58. remont mieszkania własna strona www proszę sprawdzić

    ReplyDelete
  59. Для внутрикомнатных действий применять ФСФ плиту невозможно - могут появляться химические субстанции при конкретных условиях. Фанерная плита ФСФ - это влагонепроницамый класс фанеры, получивший хорошее распределение в строительстве. В большинстве случаев ФСФ фанеру http://artmixi.com/home.php?mod=space&uid=7990&do=profile применяют как лицевой аппретурный материал. Не пропускающий воду вид почти не впитывает пар, а в последствие высыхания не деформируется.

    ReplyDelete
  60. IsraFace - еврейские праздники, это клуб для евреев, где зарегистрированы еврейки и евреи и русский еврей из России, Украины. Показывайте лучшие фото, видосики, регистрируйтесь в клуб, ведите блог, посещайте форум, устанавливайте еврейские знакомства.

    ReplyDelete
  61. https://toproofgroup.ru этапы выращивания растения

    ReplyDelete
  62. Первоклассный ламинат https://xn--80aao5aqu.xn--90ais/ существует "под дерево", в качестве природного камня или гранитной плитки. Особой чертой ламинированного покрытия является не только хорошее сопротивление пару, а также присутствие особой расцветки. Зачастую наблюдается покрытая ламинатом плоскость фанеры особой, необыкновенной фактуры и изображения.

    ReplyDelete
  63. При производстве мебели или внутренней облицовки помещений, для производства неповторимых предметов декора, для облицовки кузовов грузовиков - вот лишь крошечный список применения общепринятого влагонепропускаемого материала. Бытовое использование плит прочного и легкообрабатываемого материала довольно широко. Фанеру влагоупорнуюhttp://5gseed.com/bbs2/home.php?mod=space&username=exiwe используют не только в кораблестроении.

    ReplyDelete
  64. Дидро Дени 21 фото cojo.ru

    ReplyDelete
  65. Tana Mongeau милые картинки https://cojo.ru/

    ReplyDelete
  66. Малыши на зарядке 42 фото cojo.ru

    ReplyDelete
  67. Продукция сменные кассеты gillette купить оптом, это отличная идея для начала нового бизнеса. Постоянные скидки на сменные кассеты gillette fusion power. Средства для бритья лезвие fusion стильные наборы gillette купить оптом по минимальной стоимости производителя. Спешите приобрести лезвия gillette mach3, станки для бритья джиллет фьюжен повер, а также любой другой продукт линейки джилет мак 3 по специальной цене!. Хит продаж одноразовые станки для бритья gillette venus.

    ReplyDelete
  68. Стрижка градуированный боб на короткие волосы лучшие картинки https://cojo.ru/pricheski-i-strizhki/strizhka-graduirovannyy-bob-na-korotkie-volosy-41-foto/

    ReplyDelete
  69. Баринова Ксения милые картинки https://cojo.ru/znamenitosti/barinova-kseniya-10-foto/

    ReplyDelete
  70. Hey there buddy. Let me introduce myself. I am Joya Otten although it's not the most womanly of names. Since of her family, her partner and her live in American Samoa however she needs to move. What I love doing is to do interior decoration and I'm trying to make it a profession. Debt collecting is what he does in his day job and he will not change it anytime quickly. See what's new on my website here: download games for free

    ReplyDelete
  71. Greetings. Let me begin by informing you the author's name - Dania however it's not the most feminine name out there. Financial obligation collecting is her occupation. Wisconsin is the place I enjoy most and I don't intend on changing it. Playing lacross is something he truly delights in doing. Take a look at the most recent news on her website: games

    ReplyDelete
  72. Картинки диких животных красивые фото https://cojo.ru/kartinki/kartinki-dikih-zhivotnyh-60-foto/

    ReplyDelete
  73. Hi. Let me present the author. His name is Franklyn Glasscock. To have fun with pets is something I will never ever quit. Distributing production is how he earns a living and it's something he truly delight in. A long time ago he picked to live in Minnesota and his household loves it. You can find my site here: cheat free fire

    ReplyDelete
  74. His name is Ben Strauser. Nevada is where me and my spouse live and my parents live nearby. She is really fond of fixing computer systems however she can't make it her occupation. After being out of his task for many years he ended up being a customer support representative. Take a look at my website here: gta chinatown wars apk

    ReplyDelete
  75. Let me first start by introducing myself. My name is Derick Edson. As a man what he actually likes is ice skating but he's thinking on starting something brand-new. Mississippi is where her house is. I work as a people supervisor however soon my partner and I will begin our own business. See what's new on his site here: aggregation pheromones

    ReplyDelete
  76. Военная техника и поздравление подборка https://cojo.ru/pozdravleniya/voennaya-tehnika-i-pozdravlenie-21-foto/

    ReplyDelete
  77. Arsene Wenger Wallpapers wallpapershigh.com FullHD absolutely free https://wallpapershigh.com/arsene-wenger

    ReplyDelete
  78. Pals call him Adrian. Illinois is our birth place. It's not a common thing however what I such as doing is running and now I have time to handle new points. Administering databases is what he does but he's already looked for an additional one. She's not excellent at design however you could wish to check her web site: dominican republic tourist card 2021

    ReplyDelete
  79. High Resolution Flower Desktop Wallpapers WallpapersHigh.com HIGH RESOLUTION for free https://wallpapershigh.com/high-resolution-flower-desktop-wallpapers

    ReplyDelete
  80. Spiderman Wallpapers wallpapershigh.com high resolution absolutely free https://wallpapershigh.com/spiderman

    ReplyDelete
  81. I'm Malcolm Fentress. Interviewing has been her day task for a while however she's always desired her very own service. My other half as well as I chose to live in New Jersey and also I like everyday living right here. To raise weights is something that I have actually provided for years. My spouse and also I maintain a site. You may wish to inspect it out below: szybkie odchudzanie

    ReplyDelete
  82. Akali Live Wallpapers wallpapershigh.com high resolution for free https://wallpapershigh.com/akali-live

    ReplyDelete
  83. Carmine is the name I enjoy to be called with but you can call me anything you like. To do cryptography is the pastime I will certainly never stop doing. Healing individuals is what he provides for a living however his promo never comes. A long time ago I selected to stay in Oklahoma however I require to propose my family. See what's brand-new on his site below: personal protection dog training

    ReplyDelete
  84. Barbie Butterfly Whatsapp DP Wallpapers WallpapersHigh.com HIGH DEFINITION absolutely free https://wallpapershigh.com/barbie-butterfly-whatsapp-dp

    ReplyDelete
  85. Minimalist Wallpapers WallpapersHigh.com HIGH DEFINITION fast and free https://wallpapershigh.com/minimalist

    ReplyDelete
  86. Atat Wallpapers WallpapersHigh.com High Res 100% free https://wallpapershigh.com/atat

    ReplyDelete
  87. Malia Edmondson is how I'm called although it is not the name on my birth certificate. The favored pastime for him as well as his kids is caravaning and currently he has time to handle new points. Hiring is just how I make a living yet soon my other half and also I will certainly begin our own organization. For several years she's been residing in Maine and also her family members loves it. He's not godd at layout yet you may intend to inspect his internet site: forbes magazine ferretfriendsrescue

    ReplyDelete
  88. Hi dear site visitor. I am Robin Kral. Some time ago I chose to reside in Missouri yet currently I'm taking into consideration various other options. Among her favorite pastimes is archaeology and currently she is trying to make money with it. She is presently a dental expert. I have actually been dealing with my site for some time currently. Inspect it out right here: healthy weight loss dinner options irishjap

    ReplyDelete
  89. Jade Kaufman is what individuals call me and also I really feel comfortable when people make use of the full name. My other half doesn't like it the means I do however what I truly like doing is to play croquet and also I'll be starting something else together with it. Massachusetts has always been his living area and also he has every little thing that he requires there. After being out of his work for several years he became a debt collection agency and also it's something she actually enjoy. If you wish to figure out even more check out his website: games from steam malejkum.info

    ReplyDelete
  90. Introductions. The author's name is Concierge. Scheduling holidays has been my career for some time as well as I do not assume I'll transform it anytime quickly. My home is currently in Arizona. To jog is something I will never ever surrender. Look into the most up to date news on my web site: ketogenic diet and contact with a medical professional serenada

    ReplyDelete
  91. Dorothea is how she's called however she doesn't like when individuals use her full name. Accounting is what I do in my day task. His other half as well as him reside in New York and he will certainly never relocate. One of her preferred pastimes is jetski and she would certainly never ever stop doing it. She's bad at layout however you may want to inspect her internet site: female pheromones hilfe-fuer-behinderte

    ReplyDelete
  92. When people use the complete name, they call the author Odell and he really feels comfy. Years ago we relocated to The golden state as well as I love every day living here. To bake is a point that I'm entirely addicted to. Credit rating authorising is just how he makes a living as well as his income has been really fulfilling. Examine out his website below: kenya one culture, different people keniatravel.info

    ReplyDelete
  93. The writer's name is Odell. To cook is a thing that I'm entirely addicted to. Wisconsin is the location he likes most. Credit scores authorizing is how he makes a living and also his wage has been truly meeting. You can constantly locate his web site right here: www.keniatravel.info/the-kenya-masai-age-set/

    ReplyDelete
  94. Allow me inroduce myself, my name is Duane and I feel comfy when individuals make use of the complete name. His family members resides in North Dakota. What I love doing is angling as well as I've been doing it for a long time. Software application developing is my day task now but quickly my other half and I will start our own business. See what's brand-new on my site here: find out every little thing to recognize abou costa rica currency kostarykatravel.info

    ReplyDelete
  95. They call me Vivien Mars and I really feel comfy when people use the full name. Software program developing is exactly how I earn a living. My friends say it's not great for me however what I love doing is playing c and w and I will never stop doing it. Georgia is our birth area however my other half wants us to relocate. See what's new on my site below: residents Over Real Estate Agents kostarykatravel.info

    ReplyDelete
  96. Lorita Canela jest tym, jak ludzie ją nazywają jak również ona lubi tym. Zatrudnianie to dokładnie ona utrzymuje swoją rodzinę ale jej awans nigdy nie nadchodzi. Jednym jej preferowanych hobby jest bieganie i obecnie ma czas, by uchwyt zupełnie nowy rzeczy. Wiele lat temu przeniósł się na Hawaje. pracuje nad swoją internetową przez jakiś czas teraz. Sprawdź to tutaj: czego unikać przy odchudzaniu

    ReplyDelete
  97. Katelynn Veranda is what individuals call me and also I enjoy it. I function as a bookkeeper. One of the greatest things worldwide for me is caravaning and also currently I'm trying to gain cash with it. Mississippi is where me and also my partner live. She's been dealing with her internet site for a long time currently. Check it out right here: The Future of BMW wpdevhsed.com

    ReplyDelete
  98. Pozdrawiam. Dajcie, iż nawiążę od zobrazowania pisarki, uznaje na określenie Verline oraz łowi, iż brzmi to absolutnie pozytywnie. Dzisiaj bawię w Zachodniej Wirginii. Sierocą spośród najznakomitszych prac na globie stanowi dla zgniata kajakarstwo a teraźniejszość pamiętam trwanie na ofiarowywanie się obecnych powinności. Kurowanie człeków współczesne uskuteczniaj, w jaki umożliwiam moją rodzinę. Jej płaszczyznę komputerową wpływowa zazwyczaj zoczyć tu: meskie perfumy z feromonami sa skuteczne

    ReplyDelete
  99. Genshin Impact Live PC Wallpapers wallpapershigh.com https://wallpapershigh.com/genshin-impact-live-pc

    ReplyDelete
  100. Ghoda Wallpapers https://wallpapershigh.com/ https://wallpapershigh.com/ghoda

    ReplyDelete
  101. Blue Orchid Wallpapers wallpapershigh.com https://wallpapershigh.com/blue-orchid

    ReplyDelete
  102. Чтобы реализовать достойный ремонт, следует понимать, какие группы фанеры существуют на строительных базах и с какой целью они монтируются. Фанеру https://fanwood.by/ потребитель имеет возможность на интернет-сайте пиломатериалов в Минске Fanwood. Бывает несколько главных и больше всего известных разнообразий отделочного материала.

    ReplyDelete
  103. Technology enthusiast and problem solver. Functioning to make the world much better with innovative data-driven services. http://mail.resen.gov.mk/redir.hsp?url=https%3A%2F%2Fup.skipyour.info%2Fedir

    ReplyDelete
  104. Фанеру https://fanwood.by/ потребитель может на интернет-сайте пиломатериалов в Беларуси Фанвуд. В целях осуществить достойный ремонт, следует понимать, какие листы фанеры есть на онлайн-порталах и зачем они используются. Существует огромное количество главных и больше всего известных типов строительного материала.

    ReplyDelete
  105. Интернет 5G предоставляет максимально мгновенную скорость, снижает тормоза и предоставит наиболее качественный коннект. Айфон четырнадцать является лучшим телефоном Apple с поддержкой 5G, iphone как новый купить. 5G-технология – это новый сигнал онлайн связи. Сегодня владелец испытает максимально быстрое соединение, что наиболее полезно при стриминге и браузерных игр.

    ReplyDelete
  106. Cześć! Jestem miłośnikiem moda, zarządzam stroną esne, gdzie dzielę się swoją wiedzą w dziedzinie modą. Dzięki temu, często bywam na forach internetowych, dyskutując o najnowszych trendów. Dołącz do mnie a także wspólnie odkrywajmy najbardziej fascynujące tajniki świata mody.Odkrywając świat sukienek, potrafimy odnaleźć różnorodne modele, które zadowolą nawet najbardziej wymagające gusta. Eksperymentujmy z odmiennymi fasonami, wzorami i materiałami, aby wykorzystać pełen potencjał tego niezwykłego elementu garderoby. Sukienka to nie tylko część garderoby, to także sposób na wyrażenie siebie, eksponujący kobiecą istotę i dodający pewności siebie.

    ReplyDelete
  107. Современная вариант Айфона 14 представляет существенные поправки. Впредь всем юзерам доступен ещё более качественный мобильный интернет, крутая камера и высочайшая обработка данных Айфона четырнадцать. В полной мере уникальный смартфон https://fuckoz.com/home.php?mod=space&uid=62207&do=profile уже продается по всей Российской Федерации.

    ReplyDelete
  108. I'm Maeve. I come from Sweden and I like sports like Soccer. Check my profile: https://linkhay.com/blog/550480/isezanpsych1988

    ReplyDelete
  109. The essayist is understood by the name of Terry Howell and he loves it. It's not a common thing however what I like doing is to play Baseball however I haven't made a penny with it. Accounting is what she does. A long time ago she chose to live in Kazakhstan and she will never ever move. You can always discover her site here: https://www.hackerrank.com/senvasandnigh191

    ReplyDelete
  110. Karen Skinner is what you can call her however she never ever really liked that name. Years ago we moved to Maldives. Arranging holidays is what I perform in my day job and it's something I actually get a kick out of. My pals say it's not excellent for me however what I delight in doing is to coolect bottle tops and I would never ever supply it up. I'm not excellent at webdesign however you may want to inspect my site: icecreameney

    ReplyDelete
  111. На сегодняшний день не стоит оформлять доступ и расходовать значительные суммы за просмотр фильмов в онлайне. Сотни мультфильмов по русски предоставлены зрителям конотеатра «КиноНавигатор» абсолютно бесплатно. Преимущественно легкий вариант посмотреть http://www.neworleansbbs.com/home.php?mod=space&uid=91884 после тяжелого рабочего дня – это прибегнуть к сервису Kino Navigator.

    ReplyDelete
  112. Сегодня езачем оформлять доступ и выбрасывать денежки для просмотра фильмов в интернете. Преимущественно легкий вариант увидеть http://www.jbt4.com/home.php?mod=space&uid=8032371 на выходных – это прибегнуть к сервису «Кино Навигатор». Десятки тысяч кинофильмов дублированных на русский открыты зрителям сервиса «КиноНавигатор» полностью бесплатно.

    ReplyDelete
  113. Good to meet you, I am Wesley Ingram MD however I don't like when people use my full name. Filing is what he carries out in his day job. It's not a common thing however what I like doing is body building and I would never give it up. My family lives in Niue. My partner and I maintain a website. You may wish to examine it out here: https://public.tableau.com/app/profile/gelocoduc1989

    ReplyDelete
  114. Andrea Dalton is the her name moms and dads offered her however it's not the most womanly name out there. Auditing is how he makes money however he plans on altering it. To play Tennis is a thing that he is absolutely addicted to. I presently reside in Italy. Go to his website to learn more: www.credly.com/users/tremain-hanson/badges

    ReplyDelete
  115. Электрогидравлический узел используют в целях регуляции протоком необходимой жидкости в гидросистемах. В целях нормальной работы механизмов в системе гидравлики монтируется https://pneumo-center.by/shop/gidravlika/filtry-gidravlicheskie/. Такого рода системы считаются основным компонентом пневмогидравлических компонентов и используется в разных областях производств.

    ReplyDelete
  116. Механизм считается важнейшим элементом гидросистем и имеет обширное применение в разнообразных областях производства. Постоянная работа пневмогидравлической структуры не может обслуживаться без конкретного оборудования, например http://bbs.rwx168.com/home.php?mod=space&uid=1403251. В энергетической отрасли чаще используются другие пневмо элементы.

    ReplyDelete
  117. Основа работы гидро компонента распределитель пневматический с механическим управлением https://pneumo-center.by/shop/raspredeliteli-pnevmaticheskie1980/

    ReplyDelete
  118. When you state it, Mr. Kevin Moody is the name my moms and dads offered me and I think it sounds quite great. Honduras is our birth place however I need to move for my household. What I actually enjoy doing is caving and I've been doing it for a long time. For several years I have actually been working as a meter reader but I intend on changing it. I am running and maintaining a blog here: Jak spędzić niezapomniane wakacje bez wydawania fortuny

    ReplyDelete
  119. Шишканов Олег cojo.ru

    ReplyDelete
  120. Бонусы и поощрений в БК 1хбет значительно увеличивает привлекательность компании в глазах пользователей. Выгодные предложения доступны и новичкам, так и гостям, уже имеющим опыт работы на платформе. Среди впечатляющего ассортимента бонусной программы очень легко потеряться. Каждый промокод 1хбет обеспечивает право на определенные преференции - promokod 1xbet.

    ReplyDelete
  121. БК MelBet пользуется большой известностью на отечественном рынке: -Деятельность компании лицензирована; - Пользователям предоставлен впечатляющий список ставок - в формате live и предматчевых; - Здесь нет задержек с выплатами. Линия ставок неописуемо презентабельна. Для того, чтобы получить прибыльный бонус на совершение ставок, надо всего лишь использовать промокод MelBet RS777. Получить промокод вы можете на ставку либо на депозит. Каждое предложение имеет свои особенности отыгрыша - Мелбет промокод бонус.

    ReplyDelete
  122. Специалисты нашей компании владеют глубокими сведениями о продукции Samsung купить мониторы самсунг Казань и также всегда рады поделиться с вами нужной информацией. Можно задать абсолютно любые непростые вопросы, которые связаны с техническими параметрами функциональностью, и достоинствами какой угодно продукции.Во всех наши магазинах ответственный персонал, готовый оказать помощь и консультацию, подобрать и покупке нужного вам устройства.

    ReplyDelete
  123. Редкая челка на две стороны (38 фото) классные фото https://byry.ru/redkaya-chelka-na-dve-storony/

    ReplyDelete
  124. Внутренняя отделка зала (75 фото) крутые фото https://fotoslava.ru/vnutrennyaya-otdelka-zala-75-foto

    ReplyDelete
  125. Красивая буква н милые фото https://fotoslava.ru/krasivaya-bukva-n

    ReplyDelete
  126. Ель Акрокона в ландшафтном дизайне (45 фото) подборка https://fotoslava.ru/el-akrokona-v-landshaftnom-dizajne-45-foto

    ReplyDelete
  127. Анна Седокова В Купальниках крутые фото https://fotoslava.ru/anna-sedokova-v-kupalnikah

    ReplyDelete
  128. Books Screensaver Wallpapers high quality absolutely free https://wallpapershigh.com/books-screensaver

    ReplyDelete
  129. Morning Shayari Wallpapers high quality 100% free https://wallpapershigh.com/morning-shayari

    ReplyDelete
  130. Art Deco Wall Mural Wallpapers High Quality 100% free https://wallpapershigh.com/art-deco-wall-mural

    ReplyDelete
  131. Sai Ram Name Wallpapers HIGH QUALITY absolutely free https://wallpapershigh.com/sai-ram-name

    ReplyDelete
  132. Wonderful Natural Skincare Solution I recently came across an article on beautyah.com that introduced me to a fantastic natural skincare solution for blackheads - a tea mask! I was intrigued by this unique approach and decided to give it a try https://beautyah.com/tea-mask-for-blackheads-natural-skincare-solution

    ReplyDelete
  133. Dolphin Fish Wallpapers high quality for free https://wallpapershigh.com/dolphin-fish

    ReplyDelete
  134. Greenery Removable Wallpapers HIGH RES fast and free https://wallpapershigh.com/greenery-removable

    ReplyDelete
  135. Привет, друзья! Просто хочу рассказать вам о потрясающей коллекции фотографий Саши Барона Коэна. Не знаю, как вы, но я всегда восхищался его талантом и великолепным актерским мастерством. В этой галерее представлено 44 фотографии, которые позволяют нам заглянуть за кулисы его гениальных персонажей. Я настоятельно рекомендую вам пройти по ссылке и насладиться этой потрясающей коллекцией. Всякий раз, когда я просматриваю эти фотографии, меня захватывает атмосфера юмора и пронзительности, которую создает Саша Барон Коэн. Не упустите возможность окунуться в его удивительный мир и увидеть его великолепное актерское искусство. Приятного просмотра! Нажмите здесь сейчас https://cojo.ru/znamenitosti/sacha-baron-cohen-44-foto/

    ReplyDelete
  136. Глянь, вот я нашел классную картинку Кейт Неллиган! Она такая красивая и талантливая актриса. Я в восторге от ее игры в фильмах. А вот есть еще сайт, где можно почитать подробности про Кейт Неллиган: https://enha.ru/keyt-nelligan. Там написано про ее карьеру, фильмы, и вообще много интересного. Если тебя заинтересовала Кейт Неллиган, то обязательно зайди на этот сайт и посмотри!

    ReplyDelete
  137. Привет, друзья! Хочу поделиться с вами отличной подборкой фото Мишель Райан. Она знаменита своей красотой и обворожительной улыбкой. Эти фотографии просто великолепны! Я нашел галерею на сайте fotofakt.ru и советую вам срочно пройти по ссылке, чтобы увидеть все эти яркие и красивые снимки. Одним словом, не упустите возможность насладиться очарованием Мишель Райан! А еще узнайте немного больше о секретах красоты звезды, перейдя по ссылке https://fotofakt.ru/silikon-v-guby. Обязательно посмотрите галерею и узнайте все подробности!

    ReplyDelete
  138. Я рекомендую посетить интернет-магазин двп.бел, если вы хотите купить недорогое ДСП. Я нашел в нем отличный выбор плит и возможность покупки как оптом, так и в розницу. Заказал ДСП для своего домашнего проекта и остался очень доволен качеством и ценой. Рекомендую всем ознакомиться с ассортиментом на сайте https://xn--b1ad8a.xn--90ais/!

    ReplyDelete
  139. Рекомендую обратиться в автосервис АвтоКрасное в Гомеле, если вам требуется замена шруса. Я обратился в этот сервис с проблемой на своей машине, и остался полностью удовлетворен качеством обслуживания. Ребята сделали замену шруса быстро и профессионально. Я доволен ценой и качеством работы. Всегда радуют скидки и акции в данном сервисе. Советую всем владельцам автомобилей марки WAG обращаться именно сюда. Официальный сайт автосервиса: https://service-krasnoe.by/zamena-shrusa/.

    ReplyDelete
  140. Эй, чуваки, вы должны видеть эти арты гача лайф, они просто нереальные! Уже пару дней у меня в телефоне висит одна из них как обои, ищу новые уже на следующей неделе. Они такие стильные и красивые, что просто нельзя оторвать взгляд. Сегодня наткнулся на классный сайт, там куча артов гача лайф и вообще много разного. Чекните его по ссылке https://creofoto.ru/krasivye-arty-gacha-layf. Готовьтесь к реальной красоте!

    ReplyDelete
  141. Я заказал керамическую плитку Gresmanc volga в интернет-магазине realgres.ru и остался очень доволен. Качество плитки на высоте, она прекрасно смотрится в моем интерьере. Особенно мне понравилось то, что магазин предлагает доставку по всей России, включая мой город. Теперь и моим друзьям будет легко заказать нужную плитку, не выходя из дома. Покупка была сделана на сайте https://www.realgres.ru/stupeni-gresmanc-volga/, где я смог выбрать нужный мне товар и быстро оформить заказ. Я рекомендую этот магазин всем, кто ищет качественную и стильную плитку!

    ReplyDelete

Post a Comment

Popular posts from this blog

Android: adb push and read-only file system error

Tree in SQL database: The Nested Set Model