element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
RIoTboard
  • Products
  • Dev Tools
  • Single-Board Computers
  • RIoTboard
  • More
  • Cancel
RIoTboard
Forum Reboot of the Linux OS run into segmentation fault
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join RIoTboard to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Verified Answer
  • Replies 6 replies
  • Subscribers 23 subscribers
  • Views 1931 views
  • Users 0 members are here
Related

Reboot of the Linux OS run into segmentation fault

Former Member
Former Member over 11 years ago

Hi all,

 

this week I got my first RIoTboard. I want to use it as a low cost workplace which features a character-terminal with sip-telephone. First I flashed the Linux and set up the system. All worked fine, also the quality of the audio is sufficient for my needs and the sip-phone works very well.

The only thing which is not working as expected is to reboot the system. If I try to shutdown the board, it always runs into an segmentation fault and stops running. The only way to reboot the system is to push the little reset button on the board or to switch the power off and on.

 

The serial output of the segmentation fault is in the attachment.

 

Can anybody help me?

 

Kind regards and thanks in advance

Attachments:
xxx.txt.zip
  • Sign in to reply
  • Cancel
Parents
  • Former Member
    0 Former Member over 11 years ago

    I solved the issue by my own. I downloaded the kernel as described in the manual and I changed the core_shutdown function as follows:

     

    file: drivers/input/touchscreen/generic_ts_rel/core_i2c.c line 633

     

    static
    void core_shutdown(struct i2c_client *client)
    {
         struct struct_core_i2c_var *core_data = i2c_get_clientdata(client);
         char *buf = (char*)core_data->cdata->pts_data;
    
         PRINT_CORE_MSG("%s: >>>>>>>>>>>>>>>>>>>\n", __FUNCTION__);
    
         if ( core_data->state == CORE_STATE_NORMAL ) {
              if ( core_data->cdata->ops.go_sleep )
                   core_data->cdata->ops.go_sleep(client, buf);
         }
    }
    

    changed to:

    static
    void core_shutdown(struct i2c_client *client)
    {
         struct struct_core_i2c_var *core_data = i2c_get_clientdata(client);
         char *buf;
         
            PRINT_CORE_MSG("%s: >>>>>>>>>>>>>>>>>>>\n", __FUNCTION__);      if (core_data != NULL) {          if (core_data->cdata != NULL) {             buf = (char*)core_data->cdata->pts_data;              if ( core_data->state == CORE_STATE_NORMAL ) {                   if ( core_data->cdata->ops.go_sleep )                        core_data->cdata->ops.go_sleep(client, buf);              }          }      } }

    I added checks for NULL pointer and the reboot works without segmentation fault. I guess that the touchscreen is not initialized as expected by the author of this code, because there is no touchscreen available, and the pointer to the core_data or the pointer to cdata is left null.

    Is there anybody who do bug fixing in this driver code. How do I share my changes to others?

     

    Martin Zeh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Reject Answer
    • Cancel
  • radiatortwo
    0 radiatortwo over 11 years ago in reply to Former Member

    There is another branch in which this is already corrected.

     

    The branch you used: embest_imx_3.0.35_4.0.0

    The branch with the correction: embest_imx_3.0.35_4.1.0

     

    So I am gonna use the new branch today and test if it´s working generally better or not.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 11 years ago in reply to radiatortwo

    Ok, please let me know the result!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • radiatortwo
    0 radiatortwo over 11 years ago in reply to Former Member

    So I compiled the Kernel from branch embest_imx_3.0.35_4.1.0, copied the modules into my debian system and flashed it on the riotboard.

     

    It seems to be running fine by now.

     

    • No segmentation fault on reboot.
    • Hotplugging HDMI on my TV is now working.
    • Audio is working. (Only tested the Audio Jack with alsa-utils and aplay)
    • The second onboard led isn´t blinking anymore when Kernel is loaded.
    • There seems to be another ethernet driver. Can´t say for sure but it seems to be faster now.

     

    These are the things I noticed by now. Maybe theres more. But it runs stable.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • radiatortwo
    0 radiatortwo over 11 years ago in reply to Former Member

    So I compiled the Kernel from branch embest_imx_3.0.35_4.1.0, copied the modules into my debian system and flashed it on the riotboard.

     

    It seems to be running fine by now.

     

    • No segmentation fault on reboot.
    • Hotplugging HDMI on my TV is now working.
    • Audio is working. (Only tested the Audio Jack with alsa-utils and aplay)
    • The second onboard led isn´t blinking anymore when Kernel is loaded.
    • There seems to be another ethernet driver. Can´t say for sure but it seems to be faster now.

     

    These are the things I noticed by now. Maybe theres more. But it runs stable.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube